aboutsummaryrefslogtreecommitdiff
path: root/tests/run/tuple-zipped.scala
diff options
context:
space:
mode:
authorGuillaume Martres <smarter@ubuntu.com>2016-02-09 00:57:42 +0100
committerGuillaume Martres <smarter@ubuntu.com>2016-02-09 13:21:40 +0100
commit3c8f04e4c5e1dae42e321c3bb446688d573bbeea (patch)
treeafc6a62043e424dee9d1701f89e52760f411e4fc /tests/run/tuple-zipped.scala
parent6101ffa0b428f06e1c7788e35566b17f09c95b7c (diff)
downloaddotty-3c8f04e4c5e1dae42e321c3bb446688d573bbeea.tar.gz
dotty-3c8f04e4c5e1dae42e321c3bb446688d573bbeea.tar.bz2
dotty-3c8f04e4c5e1dae42e321c3bb446688d573bbeea.zip
Enable tests for old fixed issues
Fix #530, #654, #681, #684, #685
Diffstat (limited to 'tests/run/tuple-zipped.scala')
-rw-r--r--tests/run/tuple-zipped.scala41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/run/tuple-zipped.scala b/tests/run/tuple-zipped.scala
new file mode 100644
index 000000000..37ac52977
--- /dev/null
+++ b/tests/run/tuple-zipped.scala
@@ -0,0 +1,41 @@
+
+import scala.language.postfixOps
+
+object Test {
+ val xs1 = List.range(1, 100)
+ val xs2 = xs1.view
+ val xs3 = xs1 take 10
+ val ss1 = Stream from 1
+ val ss2 = ss1.view
+ val ss3 = ss1 take 10
+ val as1 = 1 to 100 toArray
+ val as2 = as1.view
+ val as3 = as1 take 10
+
+ def xss1 = List[Seq[Int]](xs1, xs2, xs3, ss1, ss2, ss3, as1, as2, as3)
+ def xss2 = List[Seq[Int]](xs1, xs2, xs3, ss3, as1, as2, as3) // no infinities
+ def xss3 = List[Seq[Int]](xs2, xs3, ss3, as1) // representative sampling
+
+ def main(args: Array[String]): Unit = {
+ for (cc1 <- xss1 ; cc2 <- xss2) {
+ val sum1 = (cc1, cc2).zipped map { case (x, y) => x + y } sum
+ val sum2 = (cc1, cc2).zipped map (_ + _) sum
+
+ assert(sum1 == sum2)
+ }
+
+ for (cc1 <- xss1 ; cc2 <- xss2 ; cc3 <- xss3) {
+ val sum1 = (cc1, cc2, cc3).zipped map { case (x, y, z) => x + y + z } sum
+ val sum2 = (cc1, cc2, cc3).zipped map (_ + _ + _) sum
+
+ assert(sum1 == sum2)
+ }
+
+ assert((ss1, ss1).zipped exists ((x, y) => true))
+ assert((ss1, ss1, ss1).zipped exists ((x, y, z) => true))
+
+ assert(!(ss1, ss2, 1 to 3).zipped.exists(_ + _ + _ > 100000))
+ assert((1 to 3, ss1, ss2).zipped.forall(_ + _ + _ > 0))
+ assert((ss1, 1 to 3, ss2).zipped.map(_ + _ + _).size == 3)
+ }
+}