diff options
author | Antonio Cunei <antonio.cunei@epfl.ch> | 2011-04-20 12:19:47 +0000 |
---|---|---|
committer | Antonio Cunei <antonio.cunei@epfl.ch> | 2011-04-20 12:19:47 +0000 |
commit | 517acfdd56af4562d3c4f2963f656f2834ca23e2 (patch) | |
tree | 609c95d6aafff786460300162991ce5b31fe8c32 /test/disabled/scalacheck | |
parent | e5ad9c55f8a7a97aa7c36a057078db2031f468e8 (diff) | |
download | scala-517acfdd56af4562d3c4f2963f656f2834ca23e2.tar.gz scala-517acfdd56af4562d3c4f2963f656f2834ca23e2.tar.bz2 scala-517acfdd56af4562d3c4f2963f656f2834ca23e2.zip |
Fixing an incomplete svnmerge; second, merge ag...
Fixing an incomplete svnmerge; second, merge again from trunk.
Diffstat (limited to 'test/disabled/scalacheck')
-rw-r--r-- | test/disabled/scalacheck/HashTrieSplit.scala | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/test/disabled/scalacheck/HashTrieSplit.scala b/test/disabled/scalacheck/HashTrieSplit.scala new file mode 100644 index 0000000000..6b20efe12b --- /dev/null +++ b/test/disabled/scalacheck/HashTrieSplit.scala @@ -0,0 +1,47 @@ + + + + + +import collection._ + + + + +// checks whether hash tries split their iterators correctly +// even after some elements have been traversed +object Test { + def main(args: Array[String]) { + doesSplitOk + } + + def doesSplitOk = { + val sz = 2000 + var ht = new parallel.immutable.ParHashMap[Int, Int] + // println("creating trie") + for (i <- 0 until sz) ht += ((i + sz, i)) + // println("created trie") + for (n <- 0 until (sz - 1)) { + // println("---------> n = " + n) + val pit = ht.parallelIterator + val pit2 = ht.parallelIterator + var i = 0 + while (i < n) { + pit.next + pit2.next + i += 1 + } + // println("splitting") + val pits = pit.split + val fst = pits(0).toSet + val snd = pits(1).toSet + val orig = pit2.toSet + if (orig.size != (fst.size + snd.size) || orig != (fst ++ snd)) { + println("Original: " + orig) + println("First: " + fst) + println("Second: " + snd) + assert(false) + } + } + } +} |