summaryrefslogtreecommitdiff
path: root/test/files/run/t3829.scala
diff options
context:
space:
mode:
authorAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-09-27 09:39:26 +0000
committerAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-09-27 09:39:26 +0000
commit2399a69b90ad9a61897f8a4c400056ad72e3c2c5 (patch)
tree39a5d6d472514e146b6ed0a245f0b6468c1d2302 /test/files/run/t3829.scala
parentdace259b47121450b1b5156587dd5d3c9193c82a (diff)
downloadscala-2399a69b90ad9a61897f8a4c400056ad72e3c2c5.tar.gz
scala-2399a69b90ad9a61897f8a4c400056ad72e3c2c5.tar.bz2
scala-2399a69b90ad9a61897f8a4c400056ad72e3c2c5.zip
Test for #3829. No review.
Diffstat (limited to 'test/files/run/t3829.scala')
-rw-r--r--test/files/run/t3829.scala42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/files/run/t3829.scala b/test/files/run/t3829.scala
new file mode 100644
index 0000000000..49fbbe6363
--- /dev/null
+++ b/test/files/run/t3829.scala
@@ -0,0 +1,42 @@
+
+
+
+
+// ticket #3829
+object Test {
+ import collection._
+
+ def main(args: Array[String]) {
+ val map = Map(1 -> 2, 3 -> 4)
+ assert(map.get(0) == None)
+
+ val defmap = map.withDefaultValue(-1)
+ assert(defmap.get(0) == Some(-1))
+ assert(defmap.size == 2)
+ assert(defmap.iterator.size == 2)
+ assert(defmap.empty.get(0) == Some(-1))
+ assert((defmap + (2 -> 3)).get(0) == Some(-1))
+ assert((defmap + (2 -> 3)).get(1) == Some(2))
+ assert((defmap + (2 -> 3)).get(2) == Some(3))
+ assert((defmap - 1).get(0) == Some(-1))
+ assert((defmap - 1).get(1) == Some(-1))
+ assert((defmap - 1).get(3) == Some(4))
+
+ val mutmap = mutable.Map(1 -> 2, 2 -> 3)
+ assert(mutmap.get(0) == None)
+
+ val defmutmap = mutmap.withDefaultValue(-1)
+ assert(defmutmap.get(0) == Some(-1))
+ assert(defmutmap.get(3) == Some(-1))
+ mutmap += 3 -> 4
+ assert(defmutmap.get(3) == Some(4))
+ assert(defmutmap.get(1) == Some(2))
+ mutmap -= 1
+ assert(defmutmap.get(1) == Some(-1))
+ assert(mutmap.get(1) == None)
+ defmutmap += 1 -> 2
+ assert(defmutmap.get(1) == Some(2))
+ assert(mutmap.get(1) == Some(2))
+ }
+
+}