diff options
author | Ruediger Klaehn <rklaehn@gmail.com> | 2012-08-11 12:12:56 +0200 |
---|---|---|
committer | Ruediger Klaehn <rklaehn@gmail.com> | 2012-08-11 12:12:56 +0200 |
commit | 46848a9b6abbed8d719bd7ef88a8d510675cbb03 (patch) | |
tree | 9459c5c68e7d948aa3044ddb6d05890c18cdfc50 /test/files/run/t6197.scala | |
parent | 1f3f1addfd21842da371a7d1755f9756a7fad3f0 (diff) | |
download | scala-46848a9b6abbed8d719bd7ef88a8d510675cbb03.tar.gz scala-46848a9b6abbed8d719bd7ef88a8d510675cbb03.tar.bz2 scala-46848a9b6abbed8d719bd7ef88a8d510675cbb03.zip |
Added test to check that removing all but one element from a HashTrieSet yields a HashSet1 as it should
Diffstat (limited to 'test/files/run/t6197.scala')
-rw-r--r-- | test/files/run/t6197.scala | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/files/run/t6197.scala b/test/files/run/t6197.scala new file mode 100644 index 0000000000..5ab4b002d7 --- /dev/null +++ b/test/files/run/t6197.scala @@ -0,0 +1,21 @@ +import scala.collection.immutable._ + +object Test extends App { + + // test that a HashTrieSet with one leaf element is not created! + val x = HashSet.empty + 1 + 2 + if(x.getClass.getSimpleName != "HashTrieSet") + println("A hash set containing two non-colliding values should be a HashTrieSet") + + val y = x - 1 + if(y.getClass.getSimpleName != "HashSet1") + println("A hash set containing one element should always use HashSet1") + + // it is pretty hard to test that the case where a HashTrieSet has one element which + // is itself of type HashTrieS t. That is because the improve hash function makes it very difficult + // to find keys that will have hashes that are close together. + // + // However, it is also not necessary. Removing the ability of a HashTrieSet to have + // one child of type HashTrieSet completely breaks the HashSet, so that many other + // tests fail +} |