aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/test_contrib/seq_utils_test.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/clojure/contrib/test_contrib/seq_utils_test.clj')
-rw-r--r--src/clojure/contrib/test_contrib/seq_utils_test.clj127
1 files changed, 0 insertions, 127 deletions
diff --git a/src/clojure/contrib/test_contrib/seq_utils_test.clj b/src/clojure/contrib/test_contrib/seq_utils_test.clj
deleted file mode 100644
index 0958fc65..00000000
--- a/src/clojure/contrib/test_contrib/seq_utils_test.clj
+++ /dev/null
@@ -1,127 +0,0 @@
-(ns clojure.contrib.test-contrib.seq-utils-test
- (:use clojure.test
- clojure.contrib.seq-utils))
-
-
-(deftest test-positions
- (are [expected pred coll] (= expected (positions pred coll))
- [2] string? [:a :b "c"]
- () :d [:a :b :c]
- [0 2] #{:d} [:d :a :d :a]))
-
-;Upon further inspection, flatten behaves... wierd.
-;These tests are what passes on August 7, 2009
-(deftest test-flatten-present
- (are [expected nested-val] (= (flatten nested-val) expected)
- ;simple literals
- [] nil
- [] 1
- [] 'test
- [] :keyword
- [] 1/2
- [] #"[\r\n]"
- [] true
- [] false
- ;vectors
- [1 2 3 4 5] [[1 2] [3 4 [5]]]
- [1 2 3 4 5] [1 2 3 4 5]
- [#{1 2} 3 4 5] [#{1 2} 3 4 5]
- ;sets
- [] #{}
- [] #{#{1 2} 3 4 5}
- [] #{1 2 3 4 5}
- [] #{#{1 2} 3 4 5}
- ;lists
- [] '()
- [1 2 3 4 5] `(1 2 3 4 5)
- ;maps
- [] {:a 1 :b 2}
- [:a 1 :b 2] (seq {:a 1 :b 2})
- [] {[:a :b] 1 :c 2}
- [:a :b 1 :c 2] (seq {[:a :b] 1 :c 2})
- [:a 1 2 :b 3] (seq {:a [1 2] :b 3})
- ;Strings
- [] "12345"
- [\1 \2 \3 \4 \5] (seq "12345")
- ;fns
- [] count
- [count even? odd?] [count even? odd?]))
-
-(deftest test-separate
- (are [test-seq] (= (separate even? test-seq) [[2 4] [1 3 5]])
- [1 2 3 4 5]
- #{1 2 3 4 5}
- '(1 2 3 4 5)))
-
-(deftest test-includes?
- (is (includes? [1 2 3 4 5] 5))
- (is (not (includes? [1 2 3 4 5] 6))))
-
-;Note - this does not make sense for maps and sets, because order is expected
-(deftest test-indexed
- (are [expected test-seq] (= (indexed test-seq) expected)
- [[0 :a] [1 :b] [2 :c] [3 :d]] [:a :b :c :d]
- [[0 :a] [1 :b] [2 :c] [3 :d]] '(:a :b :c :d)
- [[0 \1] [1 \2] [2 \3] [3 \4]] "1234"))
-
-(deftest test-group-by
- (is (= (group-by even? [1 2 3 4 5])
- {false [1 3 5], true [2 4]})))
-
-;Note - this does not make sense for maps and sets, because order is expected
-(deftest test-partition-by
- (are [test-seq] (= (partition-by (comp even? count) test-seq)
- [["a"] ["bb" "cccc" "dd"] ["eee" "f"] ["" "hh"]])
- ["a" "bb" "cccc" "dd" "eee" "f" "" "hh"]
- '("a" "bb" "cccc" "dd" "eee" "f" "" "hh"))
- (is (=(partition-by #{\a \e \i \o \u} "abcdefghijklm")
- [[\a] [\b \c \d] [\e] [\f \g \h] [\i] [\j \k \l \m]])))
-
-(deftest test-frequencies
- (are [expected test-seq] (= (frequencies test-seq) expected)
- {\p 2, \s 4, \i 4, \m 1} "mississippi"
- {1 4 2 2 3 1} [1 1 1 1 2 2 3]
- {1 4 2 2 3 1} '(1 1 1 1 2 2 3)))
-
-;Note - this does not make sense for maps and sets, because order is expected
-;This is a key differnce between reductions and reduce.
-(deftest test-reductions
- (is (= (reductions + [1 2 3 4 5])
- [1 3 6 10 15]))
- (is (= (reductions + 10 [1 2 3 4 5])
- [10 11 13 16 20 25])))
-
-;Note - this does not make sense for maps and sets, because order is expected
-(deftest test-rotations
- (is (= (rotations [1 2 3 4])
- [[1 2 3 4]
- [2 3 4 1]
- [3 4 1 2]
- [4 1 2 3]])))
-
-;Note - this does not make sense for maps and sets, because order is expected
-(deftest test-partition-all
- (is (= (partition-all 4 [1 2 3 4 5 6 7 8 9])
- [[1 2 3 4] [5 6 7 8] [9]]))
- (is (= (partition-all 4 2 [1 2 3 4 5 6 7 8 9])
- [[1 2 3 4] [3 4 5 6] [5 6 7 8] [7 8 9] [9]])))
-
-;Thanks to Andy Fingerhut for the idea of testing invariants
-(deftest test-shuffle-invariants
- (is (= (count (shuffle [1 2 3 4])) 4))
- (let [shuffled-seq (shuffle [1 2 3 4])]
- (is (every? #{1 2 3 4} shuffled-seq))))
-
-(deftest test-shuffle-distributions
- (let [a-statistician-needed-to-do-this? true]
- (is a-statistician-needed-to-do-this?)))
-
-;Thanks to Andy Fingerhut for the idea of testing invariants
-(deftest test-rand-elt-invariants
- (let [elt (rand-elt [:a :b :c :d])]
- (is (#{:a :b :c :d} elt))))
-
-;Note - this does not make sense for maps and sets, because order is expected
-(deftest test-find-first
- (is (= (find-first even? [1 2 3 4 5]) 2))
- (is (= (find-first even? '(1 2 3 4 5)) 2)))