diff options
Diffstat (limited to 'stdlib/source/test/lux/control/interval.lux')
-rw-r--r-- | stdlib/source/test/lux/control/interval.lux | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/stdlib/source/test/lux/control/interval.lux b/stdlib/source/test/lux/control/interval.lux index dbac4cc8e..a32333ba1 100644 --- a/stdlib/source/test/lux/control/interval.lux +++ b/stdlib/source/test/lux/control/interval.lux @@ -15,12 +15,12 @@ [math ["r" random (#+ Random)]]] {1 - ["." / (#+ Interval) ("_;." equivalence)]} + ["." / (#+ Interval) ("_@." equivalence)]} {0 [test [lux [control - [".T" equivalence]]]]}) + ["$." equivalence]]]]}) (do-template [<name> <cmp>] [(def: #export <name> @@ -80,7 +80,7 @@ right-outer ..outer] ($_ _.and (_.test "The union of an interval to itself yields the same interval." - (_;= some-interval (/.union some-interval some-interval))) + (_@= some-interval (/.union some-interval some-interval))) (_.test "The union of 2 inner intervals is another inner interval." (/.inner? (/.union left-inner right-inner))) (_.test "The union of 2 outer intervals yields an inner interval when their complements don't overlap, and an outer when they do." @@ -101,7 +101,7 @@ right-outer ..outer] ($_ _.and (_.test "The intersection of an interval to itself yields the same interval." - (_;= some-interval (/.intersection some-interval some-interval))) + (_@= some-interval (/.intersection some-interval some-interval))) (_.test "The intersection of 2 inner intervals yields an inner interval when they overlap, and an outer when they don't." (if (/.overlaps? left-inner right-inner) (/.inner? (/.intersection left-inner right-inner)) @@ -116,7 +116,7 @@ [some-interval ..interval] ($_ _.and (_.test "The complement of a complement is the same as the original." - (_;= some-interval (|> some-interval /.complement /.complement))) + (_@= some-interval (|> some-interval /.complement /.complement))) (_.test "The complement of an interval does not overlap it." (not (/.overlaps? some-interval (/.complement some-interval)))) ))) @@ -219,7 +219,7 @@ Test (<| (_.context (%name (name-of /.Interval))) ($_ _.and - (equivalenceT.test /.equivalence ..interval) + ($equivalence.spec /.equivalence ..interval) (<| (_.context "Boundaries.") ..boundaries) (<| (_.context "Union.") @@ -233,4 +233,17 @@ (<| (_.context "Touching intervals.") ..touch) (<| (_.context "Nesting & overlap.") - ..overlap)))) + ..overlap) + ))) + +(def: #export (spec (^open "_@.") gen-sample) + (All [a] (-> (Interval a) (Random a) Test)) + (<| (_.context (%name (name-of /.Interval))) + (do r.monad + [sample gen-sample] + ($_ _.and + (_.test "No value is bigger than the top." + (_@< _@top sample)) + (_.test "No value is smaller than the bottom." + (_@> _@bottom sample)) + )))) |