summaryrefslogtreecommitdiff
path: root/test/files/run/si4147.scala
diff options
context:
space:
mode:
authoraleksandar <aleksandar@lampmac14.epfl.ch>2012-01-12 15:28:25 +0100
committeraleksandar <aleksandar@lampmac14.epfl.ch>2012-01-12 15:30:42 +0100
commit51ddeb372b3f0b22041d9a51f3faee17acd7b749 (patch)
tree5f1156ed34f7cc429189e18cc88782f13a3bfc86 /test/files/run/si4147.scala
parent178d49df450904330c06cfea9955f120ba04d34c (diff)
downloadscala-51ddeb372b3f0b22041d9a51f3faee17acd7b749.tar.gz
scala-51ddeb372b3f0b22041d9a51f3faee17acd7b749.tar.bz2
scala-51ddeb372b3f0b22041d9a51f3faee17acd7b749.zip
Add mutable tree sets to the standard library.
This implementation is based on AVL trees. The current implementation is contributed by Lucien Pereira. Fixes #4147.
Diffstat (limited to 'test/files/run/si4147.scala')
-rw-r--r--test/files/run/si4147.scala36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/files/run/si4147.scala b/test/files/run/si4147.scala
new file mode 100644
index 0000000000..c1e2d746a9
--- /dev/null
+++ b/test/files/run/si4147.scala
@@ -0,0 +1,36 @@
+
+
+
+import scala.collection._
+
+
+
+object Test {
+
+ def main(args: Array[String]) {
+ checkElementsAreSorted()
+ checkRangedImpl()
+ }
+
+ def checkElementsAreSorted() {
+ val tree = mutable.SortedSet[Int]()
+ tree ++= List(4, 3, 1, 6, 7, 5, 2)
+ assert(tree == immutable.SortedSet(1, 2, 3, 4, 5, 6, 7))
+ assert(tree.size == 7)
+ }
+
+ def checkRangedImpl() {
+ val tree = mutable.SortedSet[Int](3, 1, 6, 7, 5, 2)
+ val projection = tree.rangeImpl(Some(3), Some(6))
+ assert(projection == immutable.SortedSet(3, 5))
+ assert(projection.size == 2)
+
+ // Let's check that modification are taken into account
+ tree add 4
+ assert(tree == immutable.SortedSet(1, 2, 3, 4, 5, 6, 7))
+ assert(projection == immutable.SortedSet(3, 4, 5))
+ assert(tree.size == 7)
+ assert(projection.size == 3)
+ }
+
+}