aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/test/lux/control/pipe.lux
diff options
context:
space:
mode:
authorEduardo Julian2020-08-12 01:01:30 -0400
committerEduardo Julian2020-08-12 01:01:30 -0400
commitddcc768d9d2e798814989037a286df9951840bcd (patch)
tree1db8ae1685671765dc71358853b412b279007f1d /stdlib/source/test/lux/control/pipe.lux
parent56fa0ab84c1112ea297c46814e580ca8d11b101e (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.lux177
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"
+ _ "???"))))
))))