summaryrefslogtreecommitdiff
path: root/test/files/run
diff options
context:
space:
mode:
authorAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-06-03 08:52:01 +0000
committerAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-06-03 08:52:01 +0000
commit60354bdda2978ecbadbf29db0ec0532b0cc6c133 (patch)
treedd0eaabfbc287bbbdae9becf680b380fe09c293c /test/files/run
parent3281d0627be37df7343ca5a4f26847d85eb9618a (diff)
downloadscala-60354bdda2978ecbadbf29db0ec0532b0cc6c133.tar.gz
scala-60354bdda2978ecbadbf29db0ec0532b0cc6c133.tar.bz2
scala-60354bdda2978ecbadbf29db0ec0532b0cc6c133.zip
Fixes #3511 by adding a custom StreamView.
Diffstat (limited to 'test/files/run')
-rw-r--r--test/files/run/t3511.scala36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/files/run/t3511.scala b/test/files/run/t3511.scala
new file mode 100644
index 0000000000..30757b1a66
--- /dev/null
+++ b/test/files/run/t3511.scala
@@ -0,0 +1,36 @@
+
+
+
+import scala.collection.immutable._
+
+
+// ticket #3511
+object Test {
+
+ def main(args: Array[String]) {
+ assert(Stream.from(0).view.force.take(5) == List(0, 1, 2, 3, 4))
+
+ val s = Stream.from(0)
+ val smap = s.view.map(_ * 2).force.take(5)
+ assert(smap == List(0, 2, 4, 6, 8))
+
+ val sfilter = s.view.filter(_ % 2 == 0).force.take(5)
+ assert(sfilter == List(0, 2, 4, 6, 8))
+
+ val sflatmap = s.view.flatMap(n => List(n, n * 2)).force.take(6)
+ assert(sflatmap == List(0, 0, 1, 2, 2, 4))
+
+ val stakewhile = s.view.takeWhile(_ < 10).force
+ assert(stakewhile == List.range(0, 10))
+
+ val szip = s.view.zip(s.map(_ / 2)).force.take(5)
+ assert(szip == List((0, 0), (1, 0), (2, 1), (3, 1), (4, 2)))
+
+ val szipall = s.view.zipAll(List(0, 1, 2), 0, 0).force.take(5)
+ assert(szipall == List((0, 0), (1, 1), (2, 2), (3, 0), (4, 0)))
+
+ val spatch = s.view.patch(1, List(5, 5, 5), 5).force.take(5)
+ assert(spatch == List(0, 5, 5, 5, 6))
+ }
+
+}