diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/test/test/lux/data/collection/queue/priority.lux | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/stdlib/test/test/lux/data/collection/queue/priority.lux b/stdlib/test/test/lux/data/collection/queue/priority.lux index 5450b8ad9..3868a01a8 100644 --- a/stdlib/test/test/lux/data/collection/queue/priority.lux +++ b/stdlib/test/test/lux/data/collection/queue/priority.lux @@ -3,7 +3,8 @@ [control ["." monad (#+ do Monad)]] [data - ["." number] + [number + ["." nat]] ["." maybe] [collection [queue @@ -14,7 +15,7 @@ (def: (gen-queue size) (-> Nat (r.Random (&.Queue Nat))) - (do r.Monad<Random> + (do r.monad [inputs (r.list size r.nat)] (monad.fold @ (function (_ head tail) (do @ @@ -29,7 +30,7 @@ [size (|> r.nat (:: @ map (n/% 100))) sample (gen-queue size) non-member-priority r.nat - non-member (|> r.nat (r.filter (|>> (&.member? number.Equivalence<Nat> sample) not)))] + non-member (|> r.nat (r.filter (|>> (&.member? nat.equivalence sample) not)))] ($_ seq (test "I can query the size of a queue (and empty queues have size 0)." (n/= size (&.size sample))) @@ -42,15 +43,15 @@ (&.size (&.pop sample)))))) (test "I can query whether an element belongs to a queue." - (and (and (not (&.member? number.Equivalence<Nat> sample non-member)) - (&.member? number.Equivalence<Nat> + (and (and (not (&.member? nat.equivalence sample non-member)) + (&.member? nat.equivalence (&.push non-member-priority non-member sample) non-member)) (or (n/= 0 (&.size sample)) - (and (&.member? number.Equivalence<Nat> + (and (&.member? nat.equivalence sample (maybe.assume (&.peek sample))) - (not (&.member? number.Equivalence<Nat> + (not (&.member? nat.equivalence (&.pop sample) (maybe.assume (&.peek sample)))))))) )))) |