aboutsummaryrefslogtreecommitdiff
path: root/stdlib/test
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/test/test/lux/data/coll/seq.lux129
-rw-r--r--stdlib/test/tests.lux1
2 files changed, 0 insertions, 130 deletions
diff --git a/stdlib/test/test/lux/data/coll/seq.lux b/stdlib/test/test/lux/data/coll/seq.lux
deleted file mode 100644
index 801c5c2f1..000000000
--- a/stdlib/test/test/lux/data/coll/seq.lux
+++ /dev/null
@@ -1,129 +0,0 @@
-(;module:
- lux
- (lux [io]
- (control [monad #+ do Monad]
- pipe)
- (data (coll ["&" seq]
- ["F" tree/finger]
- ["L" list])
- [text "Text/" Monoid<Text>]
- [number]
- [bool]
- [product]
- maybe)
- ["r" math/random])
- lux/test)
-
-(def: bounded-size
- (r;Random Nat)
- (|> r;nat
- (:: r;Monad<Random> map (|>. (n.% +100) (n.+ +10) (n.max +1)))))
-
-(context: "Seqs: Part 1"
- [size bounded-size
- idx (:: @ map (n.% size) r;nat)
- sample (|> (r;list size r;nat)
- (:: @ map &;from-list))
- extra r;nat
- #let [(^open "&/") (&;Eq<Seq> number;Eq<Nat>)]]
- ($_ seq
- (test "Can convert to/from list."
- (|> sample
- &;to-list &;from-list
- (&/= sample)))
-
- (test "The size function should correctly portray the size of the seq."
- (n.= size (&;size sample)))
-
- (test "Reversing a seq does not change it's size."
- (n.= (&;size sample)
- (&;size (&;reverse sample))))
-
- (test "Reversing a seq twice results in the original seq."
- (&/= sample
- (&;reverse (&;reverse sample))))
-
- (test "If every element in a list satisfies a predicate, there can't be any that satisfy its complement."
- (if (&;every? n.even? sample)
- (not (&;any? (bool;complement n.even?) sample))
- (&;any? (bool;complement n.even?) sample)))
-
- (test "Any element of the list can be considered its member."
- (and (&;member? number;Eq<Nat>
- (&;prepend extra sample)
- extra)
- (&;member? number;Eq<Nat>
- (&;compose extra sample)
- extra)))
-
- (test "Can do random access to seq elements."
- (and (|> (&;prepend extra sample)
- (&;nth +0)
- (case> (#;Some reference)
- (n.= reference extra)
-
- _
- false))
- (|> (&;compose extra sample)
- (&;nth size)
- (case> (#;Some reference)
- (n.= reference extra)
-
- _
- false))))
- ))
-
-(context: "Seqs: Part 2"
- [size bounded-size
- sample (|> (r;list size r;nat)
- (:: @ map &;from-list))
- #let [(^open "&/") (&;Eq<Seq> number;Eq<Nat>)
- (^open "&/") &;Functor<Seq>]]
- ($_ seq
- (test "Functor should go over every element of the seq."
- (let [there (&/map n.inc sample)
- back-again (&/map n.dec there)]
- (and (not (&/= sample there))
- (&/= sample back-again))))
-
- (test "Sorting a seq shouldn't change it's size."
- (n.= (&;size sample)
- (&;size (&;sort n.< sample))))
-
- (test "Sorting a seq with one order should yield the reverse of sorting it with the opposite order."
- (&/= (&;sort n.< sample)
- (&;reverse (&;sort n.> sample))))
- ))
-
-(context: "Seqs: Part 3"
- [size bounded-size
- idx (:: @ map (n.% size) r;nat)
- sample (|> (r;list size r;nat)
- (:: @ map &;from-list))
- other-size bounded-size
- other-sample (|> (r;list other-size r;nat)
- (:: @ map &;from-list))
- elem r;nat
- #let [(^open "&/") (&;Eq<Seq> number;Eq<Nat>)
- (^open "&/") &;Monad<Seq>]]
- ($_ seq
- (test "Applicative allows you to create singleton seqs, and apply seqs of functions to seqs of values."
- (and (&/= (&;seq elem) (&/wrap elem))
- (&/= (&/map n.inc sample)
- (&/apply (&/wrap n.inc) sample))))
-
- (test "Seq concatenation is a monad."
- (&/= (&;concat sample other-sample)
- (&/join (&;seq sample other-sample))))
-
- (test "You can find any value that satisfies some criterium, if such values exist in the seq."
- (case (&;find n.even? sample)
- (#;Some found)
- (and (n.even? found)
- (&;any? n.even? sample)
- (not (&;every? (bool;complement n.even?) sample)))
-
- #;None
- (and (not (&;any? n.even? sample))
- (&;every? (bool;complement n.even?) sample))))
- ))
diff --git a/stdlib/test/tests.lux b/stdlib/test/tests.lux
index 085275e62..b7f097fa2 100644
--- a/stdlib/test/tests.lux
+++ b/stdlib/test/tests.lux
@@ -49,7 +49,6 @@
["_;" set]
["_;" stack]
["_;" vector]
- ["_;" seq]
["_;" priority-queue]
["_;" stream]
(tree ["tree_;" rose]