diff options
author | Paul Phillips <paulp@improving.org> | 2010-02-24 02:27:03 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-02-24 02:27:03 +0000 |
commit | 415fced48d7ecb097eef257c1a737868acb82575 (patch) | |
tree | 6e709fd01a32098dc1f07bb7dbd6ecf94ae61252 /test/files/scalacheck/array.scala | |
parent | 0284428a9ab8f60f4aea52172412bdfe88735efa (diff) | |
download | scala-415fced48d7ecb097eef257c1a737868acb82575.tar.gz scala-415fced48d7ecb097eef257c1a737868acb82575.tar.bz2 scala-415fced48d7ecb097eef257c1a737868acb82575.zip |
Updated scalacheck jar to current trunk.
not being used. Updated partest with a --scalacheck option. Added
scalacheck tests to the ant build target. Still struggling with
ant/partest/classpaths so it's not on by default yet, but at least
./partest --scalacheck works. We... will... use... scalacheck. And we
will like it! No review.
Diffstat (limited to 'test/files/scalacheck/array.scala')
-rw-r--r-- | test/files/scalacheck/array.scala | 46 |
1 files changed, 22 insertions, 24 deletions
diff --git a/test/files/scalacheck/array.scala b/test/files/scalacheck/array.scala index 2febca4447..3801f581fb 100644 --- a/test/files/scalacheck/array.scala +++ b/test/files/scalacheck/array.scala @@ -4,36 +4,34 @@ import Gen._ import Arbitrary._ import util._ import Buildable._ +import scala.collection.mutable.GenericArray object Test extends Properties("Array") { - val myGens: Seq[Gen[Array[_]]] = List( - arbArray[Int], - arbArray[Array[Int]], - arbArray[List[String]], - arbArray[String], - arbArray[Boolean], - arbArray[AnyVal](arbAnyVal) - ) map (_.arbitrary) + /** At this moment the authentic scalacheck Array Builder/Arb bits are commented out. + */ + implicit def arbArray[T](implicit a: Arbitrary[T], m: Manifest[T]): Arbitrary[Array[T]] = + Arbitrary(containerOf[List,T](arbitrary[T]) map (_.toArray)) + + val arrGen: Gen[Array[_]] = oneOf( + arbitrary[Array[Int]], + arbitrary[Array[Array[Int]]], + arbitrary[Array[List[String]]], + arbitrary[Array[String]], + arbitrary[Array[Boolean]], + arbitrary[Array[AnyVal]] + ) // inspired by #1857 and #2352 - property("eq/ne") = - forAll(oneOf(myGens: _*)) { c1 => - forAll(oneOf(myGens: _*)) { c2 => - (c1 eq c2) || (c1 ne c2) - } - } + property("eq/ne") = forAll(arrGen, arrGen) { (c1, c2) => + (c1 eq c2) || (c1 ne c2) + } - def smallInt = choose(1, 10) // inspired by #2299 - property("ofDim") = forAll(smallInt) { i1 => - forAll(smallInt) { i2 => - forAll(smallInt) { i3 => - val arr = Array.ofDim[String](i1, i2, i3) - val flattened = arr flatMap (x => x) flatMap (x => x) - - flattened.length == i1 * i2 * i3 - } - } + def smallInt = choose(1, 10) + property("ofDim") = forAll(smallInt, smallInt, smallInt) { (i1, i2, i3) => + val arr = Array.ofDim[String](i1, i2, i3) + val flattened = arr flatMap (x => x) flatMap (x => x) + flattened.length == i1 * i2 * i3 } } |