Skip to content

Commit

Permalink
SI-10113 mutable.TreeMap.range does not work
Browse files Browse the repository at this point in the history
added missing overrides for TreeMapView
  • Loading branch information
ichaki5748 committed Jan 10, 2017
1 parent c94a9b2 commit dfd540a
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/library/scala/collection/mutable/TreeMap.scala
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,9 @@ sealed class TreeMap[A, B] private (tree: RB.Tree[A, B])(implicit val ordering:
this
}

override def valuesIterator: Iterator[B] = RB.valuesIterator(tree, from, until)
override def keysIterator: Iterator[A] = RB.keysIterator(tree, from, until)

override def clone() = super.clone().rangeImpl(from, until)
}
}
34 changes: 34 additions & 0 deletions test/junit/scala/collection/mutable/TreeMapTest.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package scala.collection.mutable

import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4

import scala.collection.mutable

@RunWith(classOf[JUnit4])
class TreeMapTest {

@Test
def rangeMkString() {

val map = mutable.TreeMap[String, String]()

List("a", "b", "c", "d").foreach(v => map.put(v, v))

val range = map.range("b", "c")

val valuesRange = range.values
val keysRange = range.keys

assertEquals(1, valuesRange.size)
assertEquals(1, keysRange.size)

assertEquals("b", valuesRange.mkString(","))
assertEquals("b", keysRange.mkString(","))
assertEquals("b -> b", range.mkString(","))

}

}
20 changes: 20 additions & 0 deletions test/junit/scala/collection/mutable/TreeSetTest.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package scala.collection.mutable

import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4

import scala.collection.mutable


@RunWith(classOf[JUnit4])
class TreeSetTest {

@Test
def rangeMkString() {

val set = mutable.TreeSet("a", "b", "c", "d")
assertEquals("b", set.range("b", "c").mkString(","))
}
}

0 comments on commit dfd540a

Please sign in to comment.