summaryrefslogtreecommitdiff
path: root/test/files/scalacheck/array.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/scalacheck/array.scala')
-rw-r--r--test/files/scalacheck/array.scala46
1 files changed, 22 insertions, 24 deletions
diff --git a/test/files/scalacheck/array.scala b/test/files/scalacheck/array.scala
index 2febca4447..03c0217180 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.ArraySeq
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
}
}