From bdf674249b993b1135d59420033a92ba39278fea Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Tue, 1 May 2018 22:02:27 -0400 Subject: - Re-organized priority-queue modules. --- stdlib/test/test/lux/data/coll/priority-queue.lux | 52 ----------------------- stdlib/test/test/lux/data/coll/queue/priority.lux | 52 +++++++++++++++++++++++ stdlib/test/tests.lux | 12 +++--- 3 files changed, 58 insertions(+), 58 deletions(-) delete mode 100644 stdlib/test/test/lux/data/coll/priority-queue.lux create mode 100644 stdlib/test/test/lux/data/coll/queue/priority.lux (limited to 'stdlib/test') diff --git a/stdlib/test/test/lux/data/coll/priority-queue.lux b/stdlib/test/test/lux/data/coll/priority-queue.lux deleted file mode 100644 index 00238dc63..000000000 --- a/stdlib/test/test/lux/data/coll/priority-queue.lux +++ /dev/null @@ -1,52 +0,0 @@ -(.module: - lux - (lux [io] - (control [monad #+ do Monad]) - (data (coll ["&" priority-queue]) - [number] - [maybe]) - ["r" math/random]) - lux/test) - -(def: (gen-queue size) - (-> Nat (r.Random (&.Queue Nat))) - (do r.Monad - [inputs (r.list size r.nat)] - (monad.fold @ (function (_ head tail) - (do @ - [priority r.nat] - (wrap (&.push priority head tail)))) - &.empty - inputs))) - -(context: "Queues" - (<| (times +100) - (do @ - [size (|> r.nat (:: @ map (n/% +100))) - sample (gen-queue size) - non-member-priority r.nat - non-member (|> r.nat (r.filter (|>> (&.member? number.Eq sample) not)))] - ($_ seq - (test "I can query the size of a queue (and empty queues have size 0)." - (n/= size (&.size sample))) - - (test "Enqueueing and dequeing affects the size of queues." - (and (n/= (n/inc size) - (&.size (&.push non-member-priority non-member sample))) - (or (n/= +0 (&.size sample)) - (n/= (n/dec size) - (&.size (&.pop sample)))))) - - (test "I can query whether an element belongs to a queue." - (and (and (not (&.member? number.Eq sample non-member)) - (&.member? number.Eq - (&.push non-member-priority non-member sample) - non-member)) - (or (n/= +0 (&.size sample)) - (and (&.member? number.Eq - sample - (maybe.assume (&.peek sample))) - (not (&.member? number.Eq - (&.pop sample) - (maybe.assume (&.peek sample)))))))) - )))) diff --git a/stdlib/test/test/lux/data/coll/queue/priority.lux b/stdlib/test/test/lux/data/coll/queue/priority.lux new file mode 100644 index 000000000..2ccb58ec4 --- /dev/null +++ b/stdlib/test/test/lux/data/coll/queue/priority.lux @@ -0,0 +1,52 @@ +(.module: + lux + (lux [io] + (control [monad #+ do Monad]) + (data (coll (queue ["&" priority])) + [number] + [maybe]) + ["r" math/random]) + lux/test) + +(def: (gen-queue size) + (-> Nat (r.Random (&.Queue Nat))) + (do r.Monad + [inputs (r.list size r.nat)] + (monad.fold @ (function (_ head tail) + (do @ + [priority r.nat] + (wrap (&.push priority head tail)))) + &.empty + inputs))) + +(context: "Queues" + (<| (times +100) + (do @ + [size (|> r.nat (:: @ map (n/% +100))) + sample (gen-queue size) + non-member-priority r.nat + non-member (|> r.nat (r.filter (|>> (&.member? number.Eq sample) not)))] + ($_ seq + (test "I can query the size of a queue (and empty queues have size 0)." + (n/= size (&.size sample))) + + (test "Enqueueing and dequeing affects the size of queues." + (and (n/= (n/inc size) + (&.size (&.push non-member-priority non-member sample))) + (or (n/= +0 (&.size sample)) + (n/= (n/dec size) + (&.size (&.pop sample)))))) + + (test "I can query whether an element belongs to a queue." + (and (and (not (&.member? number.Eq sample non-member)) + (&.member? number.Eq + (&.push non-member-priority non-member sample) + non-member)) + (or (n/= +0 (&.size sample)) + (and (&.member? number.Eq + sample + (maybe.assume (&.peek sample))) + (not (&.member? number.Eq + (&.pop sample) + (maybe.assume (&.peek sample)))))))) + )))) diff --git a/stdlib/test/tests.lux b/stdlib/test/tests.lux index 7351c8746..a25d419bc 100644 --- a/stdlib/test/tests.lux +++ b/stdlib/test/tests.lux @@ -43,16 +43,16 @@ ["_." xml]) (coll ["_." array] ["_." bits] - ["_." dictionary/unordered] - ["_." dictionary/ordered] ["_." list] - ["_." queue] - ["_." set/unordered] - ["_." set/ordered] ["_." stack] ["_." sequence] - ["_." priority-queue] ["_." stream] + ["_." dictionary/unordered] + ["_." dictionary/ordered] + ["_." set/unordered] + ["_." set/ordered] + ["_." queue] + (queue ["_." priority]) (tree ["tree_." rose] ["tree_." zipper])) (text ["_." format] -- cgit v1.2.3