diff options
author | Frantisek Sodomka <fsodomka@gmail.com> | 2009-03-19 18:41:56 +0000 |
---|---|---|
committer | Frantisek Sodomka <fsodomka@gmail.com> | 2009-03-19 18:41:56 +0000 |
commit | a31e6f0f9e6b2ecd82bd5e94bb9e3d7926eeb07f (patch) | |
tree | b1cc3b50f95a59d9933f80662b7884a85257b242 /src/clojure/contrib/test_clojure | |
parent | 389da9ef197af2e2e952d32cccf9a9d853f38660 (diff) |
test-sequences: every?, not-every?, not-any?
Diffstat (limited to 'src/clojure/contrib/test_clojure')
-rw-r--r-- | src/clojure/contrib/test_clojure/sequences.clj | 86 |
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 |