9mm/lib/test.test.fnl
dozens c7b2c98200 🗄️ big tidy up
- isolate core game logic and move it to src/game.fnl
- main.fnl should be just the ui now
- move all table funcs into lib/table
- move all (1) string funcs into lib/string
- move all game funcs into lib/game/
2024-06-20 09:17:06 -06:00

54 lines
1.6 KiB
Fennel

(let [{: describe
: test-end
: deep-equals
} (require :lib.test)]
;; just a little something to test with
(fn add [x y] (let [x (or x 0)
y (or y 0)]
(+ x y)))
(describe "# TEST" (fn []
(describe "add()" (fn [test]
(let [should "return the right number"]
(test {:given "two numbers"
: should
:actual (add 2 3)
:expected 5})
(test {:given "no arguments"
:should "return 0"
:actual (add)
:expected 0})
(test {:given "zero"
: should
:actual (add 0 4)
:expected 4}))))
(describe "equal()" (fn [t]
(t {:given "two equal tables"
:should "return true"
:expected true
:actual (deep-equals [:orange :apple :pear] [:orange :apple :pear]) })
(t {:given "two different tables"
:should "return false"
:expected false
:actual (deep-equals [:apple :pear] [:orange :apple :pear]) })
(t {:given "equal strings"
:should "be true"
:expected true
:actual (deep-equals :apple :apple) })
(t {:given "different strings"
:should "be false"
:expected false
:actual (deep-equals :apple :pear) })
(t {:given "equal bools"
:should "be true"
:expected true
:actual (deep-equals true true) })
(t {:given "different strings"
:should "be false"
:expected false
:actual (deep-equals true false) })))
(test-end))))