diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-12-03 23:50:09 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-12-03 23:50:09 -0800 |
commit | 394da59828b830f639d2418960052655d9dd040a (patch) | |
tree | d22ac3913d6889640bca2cdf3c90a286fff2795e /test | |
parent | f9a3b8206b9235edde322a446fa329f38667306e (diff) | |
parent | 03bf97e0893b227812125f7c049fdac254181cb2 (diff) | |
download | scala-394da59828b830f639d2418960052655d9dd040a.tar.gz scala-394da59828b830f639d2418960052655d9dd040a.tar.bz2 scala-394da59828b830f639d2418960052655d9dd040a.zip |
Merge pull request #3213 from Ichoran/issue/8014
Fixes SI-8014, regression in Vector ++ TraversableOnce.
Diffstat (limited to 'test')
-rw-r--r-- | test/junit/scala/collection/VectorTest.scala | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/test/junit/scala/collection/VectorTest.scala b/test/junit/scala/collection/VectorTest.scala new file mode 100644 index 0000000000..e9c4d44a72 --- /dev/null +++ b/test/junit/scala/collection/VectorTest.scala @@ -0,0 +1,51 @@ +package scala.collection.mutable + +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 +import org.junit.Test +import scala.collection.mutable + +@RunWith(classOf[JUnit4]) +/* Test for SI-8014 and ++ in general */ +class VectorTest { + val noVec = Vector.empty[Int] + val smallVec = Vector.range(0,3) + val bigVec = Vector.range(0,64) + val smsm = Vector.tabulate(2 * smallVec.length)(i => (i % smallVec.length)) + val smbig = Vector.tabulate(smallVec.length + bigVec.length)(i => + if (i < smallVec.length) i else i - smallVec.length + ) + val bigsm = Vector.tabulate(smallVec.length + bigVec.length)(i => + if (i < bigVec.length) i else i - bigVec.length + ) + val bigbig = Vector.tabulate(2 * bigVec.length)(i => (i % bigVec.length)) + + + val vecs = List(noVec, smallVec, bigVec) + val ans = List( + vecs, + List(smallVec, smsm, smbig), + List(bigVec, bigsm, bigbig) + ) + + @Test + def vectorCat() { + val cats = vecs.map(a => vecs.map(a ++ _)) + assert( cats == ans ) + } + + @Test + def iteratorCat() { + def its = vecs.map(_.toList.toIterator) + val cats = vecs.map(a => its.map(a ++ _)) + println(cats) + assert( cats == ans ) + } + + @Test + def arrayCat() { + val ars = vecs.map(_.toArray) + val cats = vecs.map(a => ars.map(a ++ _)) + assert( cats == ans ) + } +} |