diff options
author | Josh Suereth <Joshua.Suereth@gmail.com> | 2012-06-04 06:27:14 -0700 |
---|---|---|
committer | Josh Suereth <Joshua.Suereth@gmail.com> | 2012-06-04 06:27:14 -0700 |
commit | e90ea27cbeff305860a583160373a2af5b59581d (patch) | |
tree | 73f6ff0522649e2c52d7908028e3b0d7df38911b /test | |
parent | c84e019622f4e5458530e1d45fd735e4a90efd75 (diff) | |
parent | ddaf6c5235acbf808ffd5ded710f513f4df3882e (diff) | |
download | scala-e90ea27cbeff305860a583160373a2af5b59581d.tar.gz scala-e90ea27cbeff305860a583160373a2af5b59581d.tar.bz2 scala-e90ea27cbeff305860a583160373a2af5b59581d.zip |
Merge pull request #655 from axel22/feature/hasher
Implementing Hashing typeclass
Diffstat (limited to 'test')
-rw-r--r-- | test/files/run/triemap-hash.scala | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/files/run/triemap-hash.scala b/test/files/run/triemap-hash.scala new file mode 100644 index 0000000000..7f19997da0 --- /dev/null +++ b/test/files/run/triemap-hash.scala @@ -0,0 +1,46 @@ + + + +import util.hashing.Hashing + + + +object Test { + + def main(args: Array[String]) { + hashing() + equality() + } + + def hashing() { + import collection._ + + val tm = new concurrent.TrieMap[String, String](Hashing.fromFunction(x => x.length + x(0).toInt), Equiv.universal) + tm.put("a", "b") + tm.put("c", "d") + + assert(tm("a") == "b") + assert(tm("c") == "d") + + for (i <- 0 until 1000) tm(i.toString) = i.toString + for (i <- 0 until 1000) assert(tm(i.toString) == i.toString) + } + + def equality() { + import collection._ + + val tm = new concurrent.TrieMap[String, String](Hashing.fromFunction(x => x(0).toInt), Equiv.fromFunction(_(0) == _(0))) + tm.put("a", "b") + tm.put("a1", "d") + tm.put("b", "c") + + assert(tm("a") == "d", tm) + assert(tm("b") == "c", tm) + + for (i <- 0 until 1000) tm(i.toString) = i.toString + assert(tm.size == 12, tm) + assert(tm("0") == "0", tm) + for (i <- 1 to 9) assert(tm(i.toString) == i.toString + "99", tm) + } + +} |