From 582753475422403d112bb3b17c19981fb526644a Mon Sep 17 00:00:00 2001 From: Aleksandar Pokopec Date: Wed, 1 Sep 2010 14:37:53 +0000 Subject: Added scalacheck tests for parallel collections. Review by phaller (not urgent). --- .../parallel-collections/ParallelRangeCheck.scala | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 test/files/scalacheck/parallel-collections/ParallelRangeCheck.scala (limited to 'test/files/scalacheck/parallel-collections/ParallelRangeCheck.scala') diff --git a/test/files/scalacheck/parallel-collections/ParallelRangeCheck.scala b/test/files/scalacheck/parallel-collections/ParallelRangeCheck.scala new file mode 100644 index 0000000000..91296a2030 --- /dev/null +++ b/test/files/scalacheck/parallel-collections/ParallelRangeCheck.scala @@ -0,0 +1,67 @@ +package scala.collection.parallel +package immutable + + + + +import org.scalacheck._ +import org.scalacheck.Gen +import org.scalacheck.Gen._ +import org.scalacheck.Prop._ +import org.scalacheck.Properties +import org.scalacheck.Arbitrary._ + +import scala.collection._ +import scala.collection.parallel.ops._ + + + + +object ParallelRangeCheck extends ParallelSeqCheck[Int]("ParallelRange[Int]") with ops.IntSeqOperators { + ForkJoinTasks.defaultForkJoinPool.setMaximumPoolSize(Runtime.getRuntime.availableProcessors * 2) + ForkJoinTasks.defaultForkJoinPool.setParallelism(Runtime.getRuntime.availableProcessors * 2) + + type CollType = collection.parallel.ParSeq[Int] + + def isCheckingViews = false + + def instances(vals: Seq[Gen[Int]]): Gen[Seq[Int]] = sized { start => + sized { end => + sized { step => + new Range(start, end, if (step != 0) step else 1) + } + } + } + + def fromSeq(a: Seq[Int]) = a match { + case r: Range => new ParRange(r.start, r.end, r.step, false) + case _ => + val pa = new parallel.mutable.ParArray[Int](a.length) + for (i <- 0 until a.length) pa(i) = a(i) + pa + } + + override def traversable2Seq(t: Traversable[Int]): Seq[Int] = t match { + case r: Range => r + case _ => t.toSeq + } + + def values = Seq(choose(-100, 100)) + +} + + + + + + + + + + + + + + + + -- cgit v1.2.3