diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-01-04 18:19:22 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-01-04 18:19:22 -0800 |
commit | b571637c2dbb20208543520f5802fe4de5115616 (patch) | |
tree | 21bff890b581c5944ced2e0ede5f9e9ed7131abe /test/files/run/hashset.scala | |
parent | ed4f4798df2ac104d9557de2241d8e89283b0662 (diff) | |
parent | 4d4ba75e33ea2a46a80edabe80066a917768c968 (diff) | |
download | scala-b571637c2dbb20208543520f5802fe4de5115616.tar.gz scala-b571637c2dbb20208543520f5802fe4de5115616.tar.bz2 scala-b571637c2dbb20208543520f5802fe4de5115616.zip |
Merge pull request #1839 from JamesIry/SI-6908_master
SI-6908 Makes FlatHashTable as well as derived classes support nulls
Diffstat (limited to 'test/files/run/hashset.scala')
-rw-r--r-- | test/files/run/hashset.scala | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/test/files/run/hashset.scala b/test/files/run/hashset.scala new file mode 100644 index 0000000000..299dce3aec --- /dev/null +++ b/test/files/run/hashset.scala @@ -0,0 +1,48 @@ +import scala.collection.generic.{Growable, Shrinkable} +import scala.collection.GenSet +import scala.collection.mutable.FlatHashTable +import scala.collection.mutable.HashSet +import scala.collection.parallel.mutable.ParHashSet + +object Test extends App { + test(new Creator{ + def create[A] = new HashSet[A] + def hashSetType = "HashSet" + }) + + test(new Creator{ + def create[A] = new ParHashSet[A] + def hashSetType = "ParHashSet" + }) + + + def test(creator : Creator) { + println("*** " + creator.hashSetType + " primitives") + val h1 = creator.create[Int] + for (i <- 0 until 20) h1 += i + println((for (i <- 0 until 20) yield i + " " + (h1 contains i)).toList.sorted mkString(",")) + println((for (i <- 20 until 40) yield i + " " + (h1 contains i)).toList.sorted mkString(",")) + println(h1.toList.sorted mkString ",") + println + + println("*** " + creator.hashSetType + " Strings with null") + val h2 = creator.create[String] + h2 += null + for (i <- 0 until 20) h2 += "" + i + println("null " + (h2 contains null)) + println((for (i <- 0 until 20) yield i + " " + (h2 contains ("" + i))).toList.sorted mkString(",")) + println((for (i <- 20 until 40) yield i + " " + (h2 contains ("" + i))).toList.sorted mkString(",")) + println((h2.toList map {x => "" + x}).sorted mkString ",") + + h2 -= null + h2 -= "" + 0 + println("null " + (h2 contains null)) + println((for (i <- 0 until 20) yield i + " " + (h2 contains ("" + i))).toList.sorted mkString(",")) + println + } + + trait Creator { + def create[A] : GenSet[A] with Cloneable with FlatHashTable[A] with Growable[A] with Shrinkable[A] + def hashSetType : String + } +}
\ No newline at end of file |