diff options
author | Aleksandar Pokopec <aleksandar.prokopec@epfl.ch> | 2010-03-15 14:45:33 +0000 |
---|---|---|
committer | Aleksandar Pokopec <aleksandar.prokopec@epfl.ch> | 2010-03-15 14:45:33 +0000 |
commit | 505bbf0b346b7b0cb1b18cb965f47df382f8217a (patch) | |
tree | 5e7fb4502b7262db71c06c829d2aea73ad70452a /test | |
parent | f1e0c8f025b3a5227d4e3c3fb39e9c8de3429e8c (diff) | |
download | scala-505bbf0b346b7b0cb1b18cb965f47df382f8217a.tar.gz scala-505bbf0b346b7b0cb1b18cb965f47df382f8217a.tar.bz2 scala-505bbf0b346b7b0cb1b18cb965f47df382f8217a.zip |
Fixes #3091. Review by community.
Diffstat (limited to 'test')
-rw-r--r-- | test/files/pos/scan.scala | 18 | ||||
-rw-r--r-- | test/files/scalacheck/scan.scala | 17 |
2 files changed, 35 insertions, 0 deletions
diff --git a/test/files/pos/scan.scala b/test/files/pos/scan.scala new file mode 100644 index 0000000000..98361b9167 --- /dev/null +++ b/test/files/pos/scan.scala @@ -0,0 +1,18 @@ + + + + +object Test { + + def main(args: Array[String]) { + val lst = List(1, 2, 3, 4, 5) + + assert(lst.scanLeft(0)(_ + _) == List(0, 1, 3, 6, 10, 15)) + assert(lst.scanRight(0)(_ + _) == List(0, 5, 9, 12, 14, 15)) + + val emp = List[Int]() + assert(emp.scanLeft(0)(_ + _) == List(0)) + assert(emp.scanRight(0)(_ + _) == List(0)) + } + +}
\ No newline at end of file diff --git a/test/files/scalacheck/scan.scala b/test/files/scalacheck/scan.scala new file mode 100644 index 0000000000..e9b25ce3df --- /dev/null +++ b/test/files/scalacheck/scan.scala @@ -0,0 +1,17 @@ +import org.scalacheck._ +import Prop._ +import Gen._ + + +object Test extends Properties("TraversableLike.scanLeft") { + property("scanLeft") = forAll { (xs: List[Int], z: Int) => { + val sums = xs.scanLeft(z)(_ + _) + (xs.size == 0) || sums.zip(sums.tail).map(x => x._2 - x._1) == xs + }} +} + + + + + + |