33 lines
741 B
Text
33 lines
741 B
Text
(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]))
|
|
)
|
|
)
|