diff options
Diffstat (limited to 'stdlib/source/test/lux/type/dynamic.lux')
-rw-r--r-- | stdlib/source/test/lux/type/dynamic.lux | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/stdlib/source/test/lux/type/dynamic.lux b/stdlib/source/test/lux/type/dynamic.lux index 70e26f743..e2564627a 100644 --- a/stdlib/source/test/lux/type/dynamic.lux +++ b/stdlib/source/test/lux/type/dynamic.lux @@ -1,31 +1,32 @@ (.module: [lux #* - [control - [monad (#+ do)]] + data/text/format + ["r" math/random (#+ Random)] + ["_" test (#+ Test)] + [control ["." monad (#+ do)]] [data - ["." error]] - [math - ["r" random]] - [type - ["/" dynamic (#+ Dynamic :dynamic :check)]]] - lux/test) + ["." error]]] + {1 + ["." / (#+ Dynamic :dynamic :check)]}) -(context: "Dynamic typing." - (do @ - [expected r.nat - #let [value (:dynamic expected)]] - ($_ seq - (test "Can check dynamic values." - (case (:check Nat value) - (#error.Success actual) - (n/= expected actual) - - (#error.Failure error) - false)) - (test "Cannot confuse types." - (case (:check Text value) - (#error.Success actual) - false - - (#error.Failure error) - true))))) +(def: #export test + Test + (<| (_.context (%name (name-of /._))) + (do r.monad + [expected r.nat + #let [value (:dynamic expected)]] + ($_ _.and + (_.test "Can check dynamic values." + (case (:check Nat value) + (#error.Success actual) + (n/= expected actual) + + (#error.Failure error) + false)) + (_.test "Cannot confuse types." + (case (:check Text value) + (#error.Success actual) + false + + (#error.Failure error) + true)))))) |