(namespace tests.option (test.case "option.ok" (seq (def opt (option.ok 42)) (assert.ok! (option.ok? opt)) (assert.eq! (vec.get opt 1) 42) ) ) (test.case "option.err" (seq (def opt (option.err "error")) (assert.ok! (option.err? opt)) (assert.eq! (vec.get opt 1) "error") ) ) (test.case "option.ok?" (assert.ok! (option.ok? (option.ok 1))) (assert.not! (option.ok? (option.err "x"))) ) (test.case "option.err?" (assert.ok! (option.err? (option.err "x"))) (assert.not! (option.err? (option.ok 1))) ) (test.case "option.option?" (assert.ok! (option? (option.ok 1))) (assert.ok! (option? (option.err "x"))) (assert.not! (option? [1 2])) ) )