summaryrefslogtreecommitdiff
path: root/test/files/scalacheck/list.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-09-28 00:51:25 +0000
committerPaul Phillips <paulp@improving.org>2010-09-28 00:51:25 +0000
commit9c0e58c48da4cdbae7c96ef45fc15cd7aff4301f (patch)
tree857d48a844aa0479863f79c2a991984ac6a0104f /test/files/scalacheck/list.scala
parenta56c33b6a470939a1396015972f09e19dc493245 (diff)
downloadscala-9c0e58c48da4cdbae7c96ef45fc15cd7aff4301f.tar.gz
scala-9c0e58c48da4cdbae7c96ef45fc15cd7aff4301f.tar.bz2
scala-9c0e58c48da4cdbae7c96ef45fc15cd7aff4301f.zip
Cleaning up the contents of test.
including "CheckEither", written against scalacheck 1.2 in the year 471 AD. Removed all the duplicates I could find, mostly between pending and files. Renamed a bunch of tests so they wouldn't look like likely duplicates next time around. Nominated somebody else to do this once in a while. No review.
Diffstat (limited to 'test/files/scalacheck/list.scala')
-rw-r--r--test/files/scalacheck/list.scala21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/files/scalacheck/list.scala b/test/files/scalacheck/list.scala
new file mode 100644
index 0000000000..1caf35e872
--- /dev/null
+++ b/test/files/scalacheck/list.scala
@@ -0,0 +1,21 @@
+import org.scalacheck._
+import Prop._
+import Gen._
+
+object Test extends Properties("List") {
+ def sorted(xs: List[Int]) = xs sortWith (_ < _)
+
+ property("concat size") = forAll { (l1: List[Int], l2: List[Int]) => (l1.size + l2.size) == (l1 ::: l2).size }
+ property("reverse") = forAll { (l1: List[Int]) => l1.reverse.reverse == l1 }
+ property("toSet") = forAll { (l1: List[Int]) => sorted(l1.toSet.toList) sameElements sorted(l1).distinct }
+ property("flatten") = forAll { (xxs: List[List[Int]]) => xxs.flatten.length == (xxs map (_.length) sum) }
+ property("startsWith/take") = forAll { (xs: List[Int], count: Int) => xs startsWith (xs take count) }
+ property("endsWith/takeRight") = forAll { (xs: List[Int], count: Int) => xs endsWith (xs takeRight count) }
+ property("fill") = forAll(choose(1, 100)) { count =>
+ forAll { (x: Int) =>
+ val xs = List.fill(count)(x)
+ (xs.length == count) && (xs.distinct == List(x))
+ }
+ }
+}
+