diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/test/lux/data.lux | 3 | ||||
-rw-r--r-- | stdlib/source/test/lux/data/any.lux | 33 | ||||
-rw-r--r-- | stdlib/source/test/lux/data/collection/array.lux | 6 | ||||
-rw-r--r-- | stdlib/source/test/lux/data/collection/list.lux | 7 | ||||
-rw-r--r-- | stdlib/source/test/lux/data/collection/sequence.lux | 7 | ||||
-rw-r--r-- | stdlib/source/test/lux/data/collection/tree.lux | 7 |
6 files changed, 51 insertions, 12 deletions
diff --git a/stdlib/source/test/lux/data.lux b/stdlib/source/test/lux/data.lux index ec160d576..789500e62 100644 --- a/stdlib/source/test/lux/data.lux +++ b/stdlib/source/test/lux/data.lux @@ -8,6 +8,7 @@ [test ["_" property (.only Test)]]]] ["[0]" / + ["[1][0]" any] ["[1][0]" binary] ["[1][0]" bit] ["[1][0]" color @@ -68,6 +69,8 @@ Test ... TODO: Inline ASAP (all _.and + /any.test + (!bundle test/0) (!bundle test/1) (!bundle test/2) diff --git a/stdlib/source/test/lux/data/any.lux b/stdlib/source/test/lux/data/any.lux new file mode 100644 index 000000000..1a8c31c44 --- /dev/null +++ b/stdlib/source/test/lux/data/any.lux @@ -0,0 +1,33 @@ +(.require + [library + [lux (.except) + [abstract + [monad (.only do)] + [\\specification + ["[0]S" equivalence] + ["[0]S" hash]]] + [math + ["[0]" random (.only Random) (.use "[1]#[0]" monad)]] + [test + ["_" property (.only Test)]]]] + [\\library + ["[0]" /]]) + +(def .public random + (Random Any) + (random#in /.any)) + +(def .public test + Test + (<| (_.covering /._) + (do [! random.monad] + []) + (all _.and + (_.for [/.equivalence] + (equivalenceS.spec /.equivalence ..random)) + (_.for [/.hash] + (hashS.spec /.hash ..random)) + + (_.coverage [/.any] + (same? [] /.any)) + ))) diff --git a/stdlib/source/test/lux/data/collection/array.lux b/stdlib/source/test/lux/data/collection/array.lux index e2e17aa03..35b85392a 100644 --- a/stdlib/source/test/lux/data/collection/array.lux +++ b/stdlib/source/test/lux/data/collection/array.lux @@ -7,7 +7,7 @@ ["[0]" functor ["[1]T" \\test (.only Injection)]] ["[0]" mix (.only Mix) - ["$[1]" \\specification]] + ["[1]T" \\test]] ["[0]" monoid ["[1]T" \\test]] [\\specification @@ -51,7 +51,7 @@ (_.for [/.functor] (functorT.spec ..injection /.equivalence /.functor)) (_.for [/.mix] - ($mix.spec ..injection /.equivalence /.mix)) + (mixT.spec ..injection /.equivalence /.mix)) ))) (def search @@ -145,7 +145,7 @@ (function (_ $ it) (!.each $ it)))) (_.for [!.mix] - ($mix.spec ..injection /.equivalence + (mixT.spec ..injection /.equivalence (is (Mix !.Array) (function (_ $ init it) (!.mix (function (_ index item output) diff --git a/stdlib/source/test/lux/data/collection/list.lux b/stdlib/source/test/lux/data/collection/list.lux index b73b76016..460565e5f 100644 --- a/stdlib/source/test/lux/data/collection/list.lux +++ b/stdlib/source/test/lux/data/collection/list.lux @@ -11,10 +11,11 @@ ["[1]T" \\test]] ["[0]" monoid ["[1]T" \\test]] + ["[0]" mix + ["[1]T" \\test]] [\\specification ["$[0]" equivalence] - ["$[0]" hash] - ["$[0]" mix]]] + ["$[0]" hash]]] [control ["[0]" pipe] ["[0]" io] @@ -61,7 +62,7 @@ (_.for [/.monoid] (monoidT.spec (/.equivalence n.equivalence) /.monoid ..random)) (_.for [/.mix] - ($mix.spec /#in /.equivalence /.mix)) + (mixT.spec /#in /.equivalence /.mix)) (_.for [/.functor] (functorT.spec /#in /.equivalence /.functor)) (_.for [/.apply] diff --git a/stdlib/source/test/lux/data/collection/sequence.lux b/stdlib/source/test/lux/data/collection/sequence.lux index ee463e2f7..80f6d06fe 100644 --- a/stdlib/source/test/lux/data/collection/sequence.lux +++ b/stdlib/source/test/lux/data/collection/sequence.lux @@ -10,9 +10,10 @@ ["[1]T" \\test]] ["[0]" monoid ["[1]T" \\test]] + ["[0]" mix + ["[1]T" \\test]] [\\specification - ["$[0]" equivalence] - ["$[0]" mix]]] + ["$[0]" equivalence]]] [control ["[0]" try (.only Try)] ["[0]" exception]] @@ -41,7 +42,7 @@ (_.for [/.monoid] (monoidT.spec (/.equivalence n.equivalence) /.monoid (random.sequence size random.nat))) (_.for [/.mix] - ($mix.spec /#in /.equivalence /.mix)) + (mixT.spec /#in /.equivalence /.mix)) (_.for [/.functor] (functorT.spec /#in /.equivalence /.functor)) (_.for [/.apply] diff --git a/stdlib/source/test/lux/data/collection/tree.lux b/stdlib/source/test/lux/data/collection/tree.lux index 66cdcfd6f..ee6d5a83d 100644 --- a/stdlib/source/test/lux/data/collection/tree.lux +++ b/stdlib/source/test/lux/data/collection/tree.lux @@ -5,9 +5,10 @@ ["[0]" monad (.only do)] ["[0]" functor ["[1]T" \\test (.only Injection Comparison)]] + ["[0]" mix + ["[1]T" \\test]] [\\specification - ["$[0]" equivalence] - ["$[0]" mix]]] + ["$[0]" equivalence]]] [control ["//" parser] ["[0]" try] @@ -209,7 +210,7 @@ (of random.monad each product.right) ($equivalence.spec (/.equivalence n.equivalence)))) (_.for [/.mix] - ($mix.spec /.leaf /.equivalence /.mix)) + (mixT.spec /.leaf /.equivalence /.mix)) (_.for [/.functor] (functorT.spec /.leaf /.equivalence /.functor)) |