diff options
author | Eduardo Julian | 2020-08-12 01:01:30 -0400 |
---|---|---|
committer | Eduardo Julian | 2020-08-12 01:01:30 -0400 |
commit | ddcc768d9d2e798814989037a286df9951840bcd (patch) | |
tree | 1db8ae1685671765dc71358853b412b279007f1d /stdlib/source/test/lux/control/pipe.lux | |
parent | 56fa0ab84c1112ea297c46814e580ca8d11b101e (diff) |
WIP: New build-tool named Aedifex (can read project descriptions).
Diffstat (limited to 'stdlib/source/test/lux/control/pipe.lux')
-rw-r--r-- | stdlib/source/test/lux/control/pipe.lux | 177 |
1 files changed, 88 insertions, 89 deletions
diff --git a/stdlib/source/test/lux/control/pipe.lux b/stdlib/source/test/lux/control/pipe.lux index 7bf7e5e0f..1efc39cbc 100644 --- a/stdlib/source/test/lux/control/pipe.lux +++ b/stdlib/source/test/lux/control/pipe.lux @@ -5,106 +5,105 @@ [monad (#+ do)]] [data ["." identity] - ["." name] [number ["n" nat]] ["." text ("#@." equivalence) ["%" format (#+ format)]]] [math - ["r" random]]] + ["." random]]] {1 ["." /]}) (def: #export test Test - (<| (_.context (name.module (name-of /._))) - (do {@ r.monad} - [sample r.nat] + (<| (_.covering /._) + (do {@ random.monad} + [sample random.nat] ($_ _.and (do @ - [another r.nat] - (_.test (%.name (name-of /.new>)) - (n.= (inc another) - (|> sample - (n.* 3) - (n.+ 4) - (/.new> another [inc]))))) - (_.test (%.name (name-of /.let>)) - (n.= (n.+ sample sample) - (|> sample - (/.let> x [(n.+ x x)])))) - (_.test (%.name (name-of /.cond>)) - (text@= (cond (n.= 0 sample) "zero" - (n.even? sample) "even" - "odd") + [another random.nat] + (_.cover [/.new>] + (n.= (inc another) (|> sample - (/.cond> [(n.= 0)] [(/.new> "zero" [])] - [n.even?] [(/.new> "even" [])] - [(/.new> "odd" [])])))) - (_.test (%.name (name-of /.if>)) - (text@= (if (n.even? sample) - "even" - "odd") - (|> sample - (/.if> [n.even?] - [(/.new> "even" [])] - [(/.new> "odd" [])])))) - (_.test (%.name (name-of /.when>)) - (n.= (if (n.even? sample) - (n.* 2 sample) - sample) - (|> sample - (/.when> [n.even?] - [(n.* 2)])))) - (_.test (%.name (name-of /.loop>)) - (n.= (n.* 10 sample) - (|> sample - (/.loop> [(n.= (n.* 10 sample)) not] - [(n.+ sample)])))) - (_.test (%.name (name-of /.do>)) - (n.= (inc (n.+ 4 (n.* 3 sample))) - (|> sample - (/.do> identity.monad - [(n.* 3)] - [(n.+ 4)] - [inc])))) - (_.test (%.name (name-of /.exec>)) - (n.= (n.* 10 sample) - (|> sample - (/.exec> [%.nat (format "sample = ") log!]) - (n.* 10)))) - (_.test (%.name (name-of /.tuple>)) - (let [[left middle right] (|> sample - (/.tuple> [inc] - [dec] - [%.nat]))] - (and (n.= (inc sample) left) - (n.= (dec sample) middle) - (text@= (%.nat sample) right)))) - (_.test (%.name (name-of /.case>)) - (text@= (case (n.% 10 sample) - 0 "zero" - 1 "one" - 2 "two" - 3 "three" - 4 "four" - 5 "five" - 6 "six" - 7 "seven" - 8 "eight" - 9 "nine" - _ "???") - (|> sample - (n.% 10) - (/.case> 0 "zero" - 1 "one" - 2 "two" - 3 "three" - 4 "four" - 5 "five" - 6 "six" - 7 "seven" - 8 "eight" - 9 "nine" - _ "???")))) + (n.* 3) + (n.+ 4) + (/.new> another [inc]))))) + (_.cover [/.let>] + (n.= (n.+ sample sample) + (|> sample + (/.let> x [(n.+ x x)])))) + (_.cover [/.cond>] + (text@= (cond (n.= 0 sample) "zero" + (n.even? sample) "even" + "odd") + (|> sample + (/.cond> [(n.= 0)] [(/.new> "zero" [])] + [n.even?] [(/.new> "even" [])] + [(/.new> "odd" [])])))) + (_.cover [/.if>] + (text@= (if (n.even? sample) + "even" + "odd") + (|> sample + (/.if> [n.even?] + [(/.new> "even" [])] + [(/.new> "odd" [])])))) + (_.cover [/.when>] + (n.= (if (n.even? sample) + (n.* 2 sample) + sample) + (|> sample + (/.when> [n.even?] + [(n.* 2)])))) + (_.cover [/.loop>] + (n.= (n.* 10 sample) + (|> sample + (/.loop> [(n.= (n.* 10 sample)) not] + [(n.+ sample)])))) + (_.cover [/.do>] + (n.= (inc (n.+ 4 (n.* 3 sample))) + (|> sample + (/.do> identity.monad + [(n.* 3)] + [(n.+ 4)] + [inc])))) + (_.cover [/.exec>] + (n.= (n.* 10 sample) + (|> sample + (/.exec> [%.nat (format "sample = ") log!]) + (n.* 10)))) + (_.cover [/.tuple>] + (let [[left middle right] (|> sample + (/.tuple> [inc] + [dec] + [%.nat]))] + (and (n.= (inc sample) left) + (n.= (dec sample) middle) + (text@= (%.nat sample) right)))) + (_.cover [/.case>] + (text@= (case (n.% 10 sample) + 0 "zero" + 1 "one" + 2 "two" + 3 "three" + 4 "four" + 5 "five" + 6 "six" + 7 "seven" + 8 "eight" + 9 "nine" + _ "???") + (|> sample + (n.% 10) + (/.case> 0 "zero" + 1 "one" + 2 "two" + 3 "three" + 4 "four" + 5 "five" + 6 "six" + 7 "seven" + 8 "eight" + 9 "nine" + _ "???")))) )))) |