aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/test_clojure/sequences.clj
diff options
context:
space:
mode:
authorFrantisek Sodomka <fsodomka@gmail.com>2009-03-19 18:41:56 +0000
committerFrantisek Sodomka <fsodomka@gmail.com>2009-03-19 18:41:56 +0000
commita31e6f0f9e6b2ecd82bd5e94bb9e3d7926eeb07f (patch)
treeb1cc3b50f95a59d9933f80662b7884a85257b242 /src/clojure/contrib/test_clojure/sequences.clj
parent389da9ef197af2e2e952d32cccf9a9d853f38660 (diff)
test-sequences: every?, not-every?, not-any?
Diffstat (limited to 'src/clojure/contrib/test_clojure/sequences.clj')
-rw-r--r--src/clojure/contrib/test_clojure/sequences.clj86
1 files changed, 86 insertions, 0 deletions
diff --git a/src/clojure/contrib/test_clojure/sequences.clj b/src/clojure/contrib/test_clojure/sequences.clj
index 41d4a9e3..ab7c6d31 100644
--- a/src/clojure/contrib/test_clojure/sequences.clj
+++ b/src/clojure/contrib/test_clojure/sequences.clj
@@ -900,6 +900,92 @@
(into-array [1 2]) ))
+(deftest test-every?
+ ; always true for nil or empty coll/seq
+ (are (= (every? pos? _) true)
+ nil
+ () [] {} #{}
+ (lazy-seq [])
+ (into-array []) )
+
+ (are (= _1 _2)
+ true (every? pos? [1])
+ true (every? pos? [1 2])
+ true (every? pos? [1 2 3 4 5])
+
+ false (every? pos? [-1])
+ false (every? pos? [-1 -2])
+ false (every? pos? [-1 -2 3])
+ false (every? pos? [-1 2])
+ false (every? pos? [1 -2])
+ false (every? pos? [1 2 -3])
+ false (every? pos? [1 2 -3 4]) )
+
+ (are (= _1 _2)
+ true (every? #{:a} [:a :a])
+;! false (every? #{:a} [:a :b]) ; Issue 68: every? returns nil instead of false
+;! false (every? #{:a} [:b :b]) ; http://code.google.com/p/clojure/issues/detail?id=68
+ ))
+
+
+(deftest test-not-every?
+ ; always false for nil or empty coll/seq
+ (are (= (not-every? pos? _) false)
+ nil
+ () [] {} #{}
+ (lazy-seq [])
+ (into-array []) )
+
+ (are (= _1 _2)
+ false (not-every? pos? [1])
+ false (not-every? pos? [1 2])
+ false (not-every? pos? [1 2 3 4 5])
+
+ true (not-every? pos? [-1])
+ true (not-every? pos? [-1 -2])
+ true (not-every? pos? [-1 -2 3])
+ true (not-every? pos? [-1 2])
+ true (not-every? pos? [1 -2])
+ true (not-every? pos? [1 2 -3])
+ true (not-every? pos? [1 2 -3 4]) )
+
+ (are (= _1 _2)
+ false (not-every? #{:a} [:a :a])
+ true (not-every? #{:a} [:a :b])
+ true (not-every? #{:a} [:b :b]) ))
+
+
+(deftest test-not-any?
+ ; always true for nil or empty coll/seq
+ (are (= (not-any? pos? _) true)
+ nil
+ () [] {} #{}
+ (lazy-seq [])
+ (into-array []) )
+
+ (are (= _1 _2)
+ false (not-any? pos? [1])
+ false (not-any? pos? [1 2])
+ false (not-any? pos? [1 2 3 4 5])
+
+ true (not-any? pos? [-1])
+ true (not-any? pos? [-1 -2])
+
+ false (not-any? pos? [-1 -2 3])
+ false (not-any? pos? [-1 2])
+ false (not-any? pos? [1 -2])
+ false (not-any? pos? [1 2 -3])
+ false (not-any? pos? [1 2 -3 4]) )
+
+ (are (= _1 _2)
+ false (not-any? #{:a} [:a :a])
+ false (not-any? #{:a} [:a :b])
+ true (not-any? #{:a} [:b :b]) ))
+
+
+; TODO: some
+
+
;; pmap
;;
(deftest pmap-does-its-thing