diff options
author | Frantisek Sodomka <fsodomka@gmail.com> | 2009-03-24 20:51:15 +0000 |
---|---|---|
committer | Frantisek Sodomka <fsodomka@gmail.com> | 2009-03-24 20:51:15 +0000 |
commit | fc055ef08ff723df9abbf02ec79ff82bbe97ac6d (patch) | |
tree | 7c39098afbfc043e2a576636749c41f014274917 /src/clojure/contrib/test_clojure/clojure_set.clj | |
parent | 55dc30a8745b6138d50aae4be49194ab40c52f67 (diff) |
test-clojure: test set/intersection
Diffstat (limited to 'src/clojure/contrib/test_clojure/clojure_set.clj')
-rw-r--r-- | src/clojure/contrib/test_clojure/clojure_set.clj | 49 |
1 files changed, 46 insertions, 3 deletions
diff --git a/src/clojure/contrib/test_clojure/clojure_set.clj b/src/clojure/contrib/test_clojure/clojure_set.clj index 7864cff5..33e9f2c3 100644 --- a/src/clojure/contrib/test_clojure/clojure_set.clj +++ b/src/clojure/contrib/test_clojure/clojure_set.clj @@ -20,7 +20,7 @@ (set/union #{1}) #{1} (set/union #{1 2 3}) #{1 2 3} - ; 2 sets, union with empty set + ; 2 sets, at least one is empty (set/union #{} #{}) #{} (set/union #{} #{1}) #{1} (set/union #{} #{1 2 3}) #{1 2 3} @@ -34,7 +34,7 @@ (set/union #{1 2} #{3}) #{1 2 3} (set/union #{1 2} #{2 3}) #{1 2 3} - ; 3 sets, union with empty set(s) + ; 3 sets, some are empty (set/union #{} #{} #{}) #{} (set/union #{1} #{} #{}) #{1} (set/union #{} #{1} #{}) #{1} @@ -61,7 +61,50 @@ )) -; intersection +(deftest test-intersection + ; at least one argument is needed + (is (thrown? IllegalArgumentException (set/intersection))) + + (are (= _1 _2) + ; identity + (set/intersection #{}) #{} + (set/intersection #{1}) #{1} + (set/intersection #{1 2 3}) #{1 2 3} + + ; 2 sets, at least one is empty + (set/intersection #{} #{}) #{} + (set/intersection #{} #{1}) #{} + (set/intersection #{} #{1 2 3}) #{} + (set/intersection #{1} #{}) #{} + (set/intersection #{1 2 3} #{}) #{} + + ; 2 sets + (set/intersection #{1 2} #{1 2}) #{1 2} + (set/intersection #{1 2} #{3 4}) #{} + (set/intersection #{1 2} #{1}) #{1} + (set/intersection #{1 2} #{2}) #{2} + (set/intersection #{1 2 4} #{2 3 4 5}) #{2 4} + + ; 3 sets, some are empty + (set/intersection #{} #{} #{}) #{} + (set/intersection #{1} #{} #{}) #{} + (set/intersection #{1} #{1} #{}) #{} + (set/intersection #{1} #{} #{1}) #{} + (set/intersection #{1 2} #{2 3} #{}) #{} + + ; 3 sets + (set/intersection #{1 2} #{2 3} #{5 2}) #{2} + (set/intersection #{1 2 3} #{1 3 4} #{1 3}) #{1 3} + (set/intersection #{1 2 3} #{3 4 5} #{8 2 3}) #{3} + + ; different types of sets + (set/intersection (hash-set 1 2) (hash-set 2 3)) #{2} + (set/intersection (sorted-set 1 2) (sorted-set 2 3)) #{2} + (set/intersection + (hash-set 1 2) (hash-set 2 3) + (sorted-set 1 2) (sorted-set 2 3)) #{2} )) + + ; difference ; ; select |