summaryrefslogtreecommitdiff
path: root/test/junit/scala/collection/immutable/ListSetTest.scala
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@typesafe.com>2016-05-17 22:14:32 +0200
committerLukas Rytz <lukas.rytz@typesafe.com>2016-05-17 22:14:32 +0200
commitbf35467ec8f4073d5e7341b841b299bb0846c313 (patch)
treee750391ba95136e166dc8da5d3252a2a755a4d22 /test/junit/scala/collection/immutable/ListSetTest.scala
parent3ea78b7583a5b69065b532697372e669e4bbadce (diff)
parent4552de451b48b65b8dca42d4167eb6f6aefbf408 (diff)
downloadscala-bf35467ec8f4073d5e7341b841b299bb0846c313.tar.gz
scala-bf35467ec8f4073d5e7341b841b299bb0846c313.tar.bz2
scala-bf35467ec8f4073d5e7341b841b299bb0846c313.zip
Merge pull request #5103 from ruippeixotog/improve-list-map-set-perf
Improve performance and behavior of ListMap and ListSet
Diffstat (limited to 'test/junit/scala/collection/immutable/ListSetTest.scala')
-rw-r--r--test/junit/scala/collection/immutable/ListSetTest.scala53
1 files changed, 53 insertions, 0 deletions
diff --git a/test/junit/scala/collection/immutable/ListSetTest.scala b/test/junit/scala/collection/immutable/ListSetTest.scala
new file mode 100644
index 0000000000..395da88c75
--- /dev/null
+++ b/test/junit/scala/collection/immutable/ListSetTest.scala
@@ -0,0 +1,53 @@
+package scala.collection.immutable
+
+import org.junit.Assert._
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+
+@RunWith(classOf[JUnit4])
+class ListSetTest {
+
+ @Test
+ def t7445(): Unit = {
+ val s = ListSet(1, 2, 3, 4, 5)
+ assertEquals(ListSet(2, 3, 4, 5), s.tail)
+ }
+
+ @Test
+ def hasCorrectBuilder(): Unit = {
+ val m = ListSet("a", "b", "c", "b", "d")
+ assertEquals(List("a", "b", "c", "d"), m.toList)
+ }
+
+ @Test
+ def hasTailRecursiveDelete(): Unit = {
+ val s = ListSet(1 to 50000: _*)
+ try s - 25000 catch { case e: StackOverflowError => fail("A stack overflow occurred") }
+ }
+
+ @Test
+ def hasCorrectHeadTailLastInit(): Unit = {
+ val m = ListSet(1, 2, 3)
+ assertEquals(1, m.head)
+ assertEquals(ListSet(2, 3), m.tail)
+ assertEquals(3, m.last)
+ assertEquals(ListSet(1, 2), m.init)
+ }
+
+ @Test
+ def hasCorrectAddRemove(): Unit = {
+ val m = ListSet(1, 2, 3)
+ assertEquals(ListSet(1, 2, 3, 4), m + 4)
+ assertEquals(ListSet(1, 2, 3), m + 2)
+ assertEquals(ListSet(2, 3), m - 1)
+ assertEquals(ListSet(1, 3), m - 2)
+ assertEquals(ListSet(1, 2, 3), m - 4)
+ }
+
+ @Test
+ def hasCorrectIterator(): Unit = {
+ val s = ListSet(1, 2, 3, 5, 4)
+ assertEquals(List(1, 2, 3, 5, 4), s.iterator.toList)
+ }
+}