summaryrefslogblamecommitdiff
path: root/test/files/run/t3829.scala
blob: 49fbbe636394e1457a6389b46c2c04110146bbe4 (plain) (tree)









































                                                  
// 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))
  }

}