summaryrefslogtreecommitdiff
path: root/test/files/scalacheck/redblacktree.scala
diff options
context:
space:
mode:
authorAleksandar Prokopec <axel22@gmail.com>2012-06-27 13:34:49 +0200
committerAleksandar Prokopec <axel22@gmail.com>2012-06-27 15:49:06 +0200
commit788ac7502154ca1329773ec869242df21015f5f3 (patch)
treebb330ef73645f25ce872900a8a485e066197cecf /test/files/scalacheck/redblacktree.scala
parent9a28ee1ffc085bc680c48b12ad632b9133adf020 (diff)
downloadscala-788ac7502154ca1329773ec869242df21015f5f3.tar.gz
scala-788ac7502154ca1329773ec869242df21015f5f3.tar.bz2
scala-788ac7502154ca1329773ec869242df21015f5f3.zip
Fix SI-5986.
Here we had an issue that RedBlack does not work the same way for sets - which are not supposed to replace an element if it is the same (wrt equals) and maps - which should replace the corresponding values. Adding an overwrite parameter which decides whether to overwrite added keys if they are the same in the ordering. Fix tests.
Diffstat (limited to 'test/files/scalacheck/redblacktree.scala')
-rw-r--r--test/files/scalacheck/redblacktree.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/test/files/scalacheck/redblacktree.scala b/test/files/scalacheck/redblacktree.scala
index e4b356c889..e2609fa200 100644
--- a/test/files/scalacheck/redblacktree.scala
+++ b/test/files/scalacheck/redblacktree.scala
@@ -121,7 +121,7 @@ package scala.collection.immutable.redblacktree {
override type ModifyParm = Int
override def genParm(tree: Tree[String, Int]): Gen[ModifyParm] = choose(0, iterator(tree).size + 1)
- override def modify(tree: Tree[String, Int], parm: ModifyParm): Tree[String, Int] = update(tree, generateKey(tree, parm), 0)
+ override def modify(tree: Tree[String, Int], parm: ModifyParm): Tree[String, Int] = update(tree, generateKey(tree, parm), 0, true)
def generateKey(tree: Tree[String, Int], parm: ModifyParm): String = nodeAt(tree, parm) match {
case Some((key, _)) => key.init.mkString + "MN"
@@ -144,7 +144,7 @@ package scala.collection.immutable.redblacktree {
override type ModifyParm = Int
override def genParm(tree: Tree[String, Int]): Gen[ModifyParm] = choose(0, iterator(tree).size)
override def modify(tree: Tree[String, Int], parm: ModifyParm): Tree[String, Int] = nodeAt(tree, parm) map {
- case (key, _) => update(tree, key, newValue)
+ case (key, _) => update(tree, key, newValue, true)
} getOrElse tree
property("update modifies values") = forAll(genInput) { case (tree, parm, newTree) =>