summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJosh Suereth <Joshua.Suereth@gmail.com>2012-08-11 04:49:21 -0700
committerJosh Suereth <Joshua.Suereth@gmail.com>2012-08-11 04:49:21 -0700
commitffca128c5caeb1921bdbfb3736f649ffcdbb2af3 (patch)
tree35d4e5bdaa0f27b6e3de5e973c3b29e0fdead86e /test
parenta9c00f2dff1f86f5cfcba4f8d88e784d866515ec (diff)
parentcef47262326b2219c429a58f199cfb04ae109422 (diff)
downloadscala-ffca128c5caeb1921bdbfb3736f649ffcdbb2af3.tar.gz
scala-ffca128c5caeb1921bdbfb3736f649ffcdbb2af3.tar.bz2
scala-ffca128c5caeb1921bdbfb3736f649ffcdbb2af3.zip
Merge pull request #1097 from rklaehn/SI-6198
Si 6198
Diffstat (limited to 'test')
-rw-r--r--test/files/run/t6198.check0
-rw-r--r--test/files/run/t6198.scala24
2 files changed, 24 insertions, 0 deletions
diff --git a/test/files/run/t6198.check b/test/files/run/t6198.check
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/test/files/run/t6198.check
diff --git a/test/files/run/t6198.scala b/test/files/run/t6198.scala
new file mode 100644
index 0000000000..5aa8f1c1cf
--- /dev/null
+++ b/test/files/run/t6198.scala
@@ -0,0 +1,24 @@
+import scala.collection.immutable._
+
+object Test extends App {
+ // test that ListSet.tail does not use a builder
+ // we can't test for O(1) behavior, so the best we can do is to
+ // check that ls.tail always returns the same instance
+ val ls = ListSet.empty[Int] + 1 + 2
+
+ if(ls.tail ne ls.tail)
+ println("ListSet.tail should not use a builder!")
+
+ // class that always causes hash collisions
+ case class Collision(value:Int) { override def hashCode = 0 }
+
+ // create a set that should have a collison
+ val x = HashSet.empty + Collision(0) + Collision(1)
+ if(x.getClass.getSimpleName != "HashSetCollision1")
+ println("HashSet of size >1 with collisions should use HashSetCollision")
+
+ // remove the collision again by removing all but one element
+ val y = x - Collision(0)
+ if(y.getClass.getSimpleName != "HashSet1")
+ println("HashSet of size 1 should use HashSet1" + y.getClass)
+}