2024-06-20 15:17:06 +00:00
|
|
|
(let [{: describe
|
|
|
|
: test-end
|
|
|
|
: deep-equals
|
|
|
|
} (require :lib.test)]
|
|
|
|
|
|
|
|
;; just a little something to test with
|
2024-05-30 01:26:41 +00:00
|
|
|
(fn add [x y] (let [x (or x 0)
|
2024-06-20 15:17:06 +00:00
|
|
|
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))))
|