diff options
-rw-r--r-- | src/jvm/clojure/lang/PersistentQueue.java | 4 | ||||
-rw-r--r-- | test/clojure/test_clojure/data_structures.clj | 20 |
2 files changed, 22 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/PersistentQueue.java b/src/jvm/clojure/lang/PersistentQueue.java index 655b3e41..fb7781c3 100644 --- a/src/jvm/clojure/lang/PersistentQueue.java +++ b/src/jvm/clojure/lang/PersistentQueue.java @@ -47,7 +47,7 @@ public boolean equiv(Object obj){ if(ms == null || !Util.equiv(s.first(), ms.first()))
return false;
}
- return ms.next() == null;
+ return ms == null;
}
@@ -61,7 +61,7 @@ public boolean equals(Object obj){ if(ms == null || !Util.equals(s.first(), ms.first()))
return false;
}
- return ms.next() == null;
+ return ms == null;
}
diff --git a/test/clojure/test_clojure/data_structures.clj b/test/clojure/test_clojure/data_structures.clj index 330bbed4..690bde4e 100644 --- a/test/clojure/test_clojure/data_structures.clj +++ b/test/clojure/test_clojure/data_structures.clj @@ -774,3 +774,23 @@ (disj #{#{nil}} #{nil}) #{} )) +;; *** Queues *** + +(deftest test-queues + (let [EMPTY clojure.lang.PersistentQueue/EMPTY] + (are [x y] (= x y) + EMPTY EMPTY + (into EMPTY (range 50)) (into EMPTY (range 50)) + (range 5) (into EMPTY (range 5)) + (range 1 6) (-> EMPTY + (into (range 6)) + pop)) + (are [x y] (not= x y) + (range 5) (into EMPTY (range 6)) + (range 6) (into EMPTY (range 5)) + (range 0 6) (-> EMPTY + (into (range 6)) + pop) + (range 1 6) (-> EMPTY + (into (range 7)) + pop)))) |