aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/test/lux/macro/poly/equivalence.lux
diff options
context:
space:
mode:
authorEduardo Julian2019-03-24 19:24:52 -0400
committerEduardo Julian2019-03-24 19:24:52 -0400
commite9add32589541394a20771fac0d7338db09b5f2e (patch)
tree8b2d9d4bd07b28cf9cbfc27aef34a5876018023e /stdlib/source/test/lux/macro/poly/equivalence.lux
parentf6ecfd99a004ae663916fa28532206c16fac835e (diff)
Ported tests for macro-related modules.
Diffstat (limited to 'stdlib/source/test/lux/macro/poly/equivalence.lux')
-rw-r--r--stdlib/source/test/lux/macro/poly/equivalence.lux35
1 files changed, 18 insertions, 17 deletions
diff --git a/stdlib/source/test/lux/macro/poly/equivalence.lux b/stdlib/source/test/lux/macro/poly/equivalence.lux
index 63f9fa955..941eb881f 100644
--- a/stdlib/source/test/lux/macro/poly/equivalence.lux
+++ b/stdlib/source/test/lux/macro/poly/equivalence.lux
@@ -1,23 +1,23 @@
(.module:
[lux #*
+ data/text/format
+ [control/monad (#+ do)]
+ ["r" math/random (#+ Random)]
+ ["_" test (#+ Test)]
[control
- [monad (#+ do Monad)]
[equivalence (#+ Equivalence)]]
[data
["." bit]
["." maybe]
[number
- ["." int ("#;." number)]]
- ["." text
- format]
+ ["." int ("#@." number)]]
+ ["." text]
[collection
["." list]]]
- [math
- ["r" random]]
["." macro
- [poly (#+ derived:)
- ["&" equivalence]]]]
- lux/test)
+ [poly (#+ derived:)]]]
+ {1
+ ["." /]})
(type: Variant
(#Case0 Bit)
@@ -49,7 +49,7 @@
(r.Random Record)
(do r.monad
[size (:: @ map (n/% 2) r.nat)
- #let [gen-int (|> r.int (:: @ map (|>> int;abs (i/% +1,000,000))))]]
+ #let [gen-int (|> r.int (:: @ map (|>> int@abs (i/% +1,000,000))))]]
($_ r.and
r.bit
gen-int
@@ -61,12 +61,13 @@
($_ r.and gen-int r.frac (r.unicode size))
gen-recursive)))
-(derived: (&.Equivalence<?> Record))
+(derived: equivalence (/.equivalence Record))
-(context: "Equivalence polytypism"
- (<| (times 100)
- (do @
+(def: #export test
+ Test
+ (<| (_.context (%name (name-of /._)))
+ (do r.monad
[sample gen-record
- #let [(^open "&;.") ..equivalence]]
- (test "Every instance equals itself."
- (&;= sample sample)))))
+ #let [(^open "/@.") ..equivalence]]
+ (_.test "Every instance equals itself."
+ (/@= sample sample)))))