From 60354bdda2978ecbadbf29db0ec0532b0cc6c133 Mon Sep 17 00:00:00 2001 From: Aleksandar Pokopec Date: Thu, 3 Jun 2010 08:52:01 +0000 Subject: Fixes #3511 by adding a custom StreamView. --- test/files/run/t3511.scala | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 test/files/run/t3511.scala (limited to 'test/files') 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)) + } + +} -- cgit v1.2.3