aboutsummaryrefslogtreecommitdiff
path: root/tests/pending/run/streams.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2015-05-12 18:30:53 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-05-12 18:30:53 +0200
commit89bacb9c25a58454ff1878e67f7ea07ffc8c269f (patch)
tree51f1ff6c66aebe1b6109b1cffcc2bb8e4cf760a3 /tests/pending/run/streams.scala
parenta0fa33deafbea1bf53edc068c5ed9db5592822f9 (diff)
downloaddotty-89bacb9c25a58454ff1878e67f7ea07ffc8c269f.tar.gz
dotty-89bacb9c25a58454ff1878e67f7ea07ffc8c269f.tar.bz2
dotty-89bacb9c25a58454ff1878e67f7ea07ffc8c269f.zip
Run tests as they were in scala.
Diffstat (limited to 'tests/pending/run/streams.scala')
-rw-r--r--tests/pending/run/streams.scala66
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/pending/run/streams.scala b/tests/pending/run/streams.scala
new file mode 100644
index 000000000..350e103ea
--- /dev/null
+++ b/tests/pending/run/streams.scala
@@ -0,0 +1,66 @@
+object Test extends App {
+ val s0: Stream[Int] = Stream.empty
+ println(s0.take(1))
+ println(s0.takeWhile(_ > 0))
+ println(s0.lengthCompare(-5) > 0)
+ println(s0.lengthCompare(0) == 0)
+ println(s0.lengthCompare(5) < 0)
+ println
+
+ val s1 = Stream.cons(1, Stream.empty)
+ println(s1.toArray.deep)
+ println(s1.take(1))
+ println(s1.take(2))
+ println(s1.drop(1))
+ println(s1.drop(2))
+ println(s1.drop(-1))
+ println(s1.dropWhile(_ > 0))
+ println(s1.lengthCompare(-5) > 0)
+ println(s1.lengthCompare(0) > 0)
+ println(s1.lengthCompare(1) == 0)
+ println(s1.lengthCompare(5) < 0)
+ println
+
+ val s2 = s1.append(Stream.cons(2, Stream.empty))
+ println(s2.toArray.deep)
+ println(s2.drop(1))
+ println(s2.drop(2))
+ println(s2.drop(-1))
+ println(s2.dropWhile(_ > 0))
+ println(s2.lengthCompare(-5) > 0)
+ println(s2.lengthCompare(0) > 0)
+ println(s2.lengthCompare(1) > 0)
+ println(s2.lengthCompare(2) == 0)
+ println(s2.lengthCompare(5) < 0)
+ println
+
+ val s3 = Stream.range(1, 1000) //100000 (ticket #153: Stackoverflow)
+ println(s3.length)
+
+ // ticket #153
+ def powers(x: Int) = if ((x&(x-1)) == 0) Some(x) else None
+ println(s3.flatMap(powers).reverse.head)
+
+ // large enough to generate StackOverflows (on most systems)
+ // unless the following methods are tail call optimized.
+ val size = 100000
+
+ // test tail recursive methods
+ println(Stream.from(1).take(size).last)
+ println(Stream.from(1).drop(size))
+ println(Stream.from(1).filter(_ > size).take(5))
+ println(Stream.from(1).take(size).forall(_ >= 0))
+ println(Stream.from(1).exists(_ > size))
+ Stream.from(1).take(size).foreach( x => () )
+ println(Stream.from(1).take(size).foldLeft(0)(_ + _))
+ val arr = new Array[Int](size)
+ Stream.from(1).take(size).copyToArray(arr, 0)
+
+ println
+
+ // ticket #6415
+ lazy val x = { println("evaluated"); 1 }
+ val s4 = 0 #:: x #:: Stream.empty
+
+ println(s4.isDefinedAt(0))
+}