diff options
Diffstat (limited to 'src/clojure/contrib/test_clojure')
-rw-r--r-- | src/clojure/contrib/test_clojure/predicates.clj | 20 | ||||
-rw-r--r-- | src/clojure/contrib/test_clojure/sequences.clj | 44 |
2 files changed, 56 insertions, 8 deletions
diff --git a/src/clojure/contrib/test_clojure/predicates.clj b/src/clojure/contrib/test_clojure/predicates.clj index fc7b41db..0206860d 100644 --- a/src/clojure/contrib/test_clojure/predicates.clj +++ b/src/clojure/contrib/test_clojure/predicates.clj @@ -40,6 +40,7 @@ :empty-string "" :empty-regex #"" :empty-list () + :empty-lazy-seq (lazy-seq nil) :empty-vector [] :empty-map {} :empty-set #{} @@ -48,6 +49,7 @@ :string "abc" :regex #"a*b" :list '(1 2 3) + :lazy-seq (lazy-seq [1 2 3]) :vector [1 2 3] :map {:a 1 :b 2 :c 3} :set #{1 2 3} @@ -84,17 +86,19 @@ string? [:empty-string :string] ; regex? - list? [:empty-list :list] + list? [:empty-list :list] vector? [:empty-vector :vector] - map? [:empty-map :map] - set? [:empty-set :set] + map? [:empty-map :map] + set? [:empty-set :set] - coll? [:empty-list :list - :empty-vector :vector - :empty-map :map - :empty-set :set] + coll? [:empty-list :list + :empty-lazy-seq :lazy-seq + :empty-vector :vector + :empty-map :map + :empty-set :set] - seq? [:empty-list :list] + seq? [:empty-list :list + :empty-lazy-seq :lazy-seq] ; array? fn? [:fn] diff --git a/src/clojure/contrib/test_clojure/sequences.clj b/src/clojure/contrib/test_clojure/sequences.clj index 154c2f6e..2f7d34d5 100644 --- a/src/clojure/contrib/test_clojure/sequences.clj +++ b/src/clojure/contrib/test_clojure/sequences.clj @@ -18,7 +18,50 @@ ;; *** Tests *** +(deftest test-equality + ; lazy sequences + (are (= _1 _2) + ; fixed SVN 1288 - LazySeq and EmptyList equals/equiv + ; http://groups.google.com/group/clojure/browse_frm/thread/286d807be9cae2a5# + (map inc nil) () + (map inc ()) () + (map inc []) () + (map inc #{}) () + (map inc {}) () )) + + +(deftest test-lazy-seq + (are (seq? _) + (lazy-seq nil) + (lazy-seq []) + (lazy-seq [1 2])) + + ; SVN 1292: fixed (= (lazy-seq nil) nil) + (is (not= (lazy-seq nil) nil)) + + (are (= _1 _2) + (lazy-seq nil) () + (lazy-seq [nil]) '(nil) + + (lazy-seq ()) () + (lazy-seq []) () + (lazy-seq #{}) () + (lazy-seq {}) () + (lazy-seq "") () + (lazy-seq (into-array [])) () + + (lazy-seq (list 1 2)) '(1 2) + (lazy-seq [1 2]) '(1 2) + (lazy-seq (sorted-set 1 2)) '(1 2) + (lazy-seq (sorted-map :a 1 :b 2)) '([:a 1] [:b 2]) + (lazy-seq "abc") '(\a \b \c) + (lazy-seq (into-array [1 2])) '(1 2) )) + + (deftest test-seq + (is (not (seq? (seq [])))) + (is (seq? (seq [1 2]))) + (are (= _1 _2) (seq nil) nil (seq [nil]) '(nil) @@ -563,6 +606,7 @@ (deftest test-reverse (are (= _1 _2) + (reverse nil) () ; since SVN 1294 (reverse []) () (reverse [1]) '(1) (reverse [1 2 3]) '(3 2 1) )) |