2009-10-19 04:25:50 +02:00
|
|
|
package xsbt.boot
|
|
|
|
|
|
|
|
|
|
import org.scalacheck._
|
|
|
|
|
|
|
|
|
|
object ListMapProperties extends Properties("ListMap")
|
|
|
|
|
{
|
|
|
|
|
implicit val genListMap = Arbitrary ( for(list <- Arbitrary.arbitrary[List[(Int,Int)]]) yield ListMap(list : _*) )
|
|
|
|
|
|
|
|
|
|
property("ListMap from List contains all members of that List") = Prop.forAll { (list: List[(Int,Int)]) =>
|
|
|
|
|
val map = ListMap(list : _*)
|
|
|
|
|
list forall { entry => map contains entry._1 }
|
|
|
|
|
}
|
|
|
|
|
property("contains added entry") = Prop.forAll { (map: ListMap[Int,Int], key: Int, value: Int) =>
|
|
|
|
|
{ (map + (key, value) ) contains(key) } &&
|
|
|
|
|
{ (map + (key, value) )(key) == value } &&
|
|
|
|
|
{ (map + (key, value) ).get(key) == Some(value) }
|
|
|
|
|
}
|
|
|
|
|
property("remove") = Prop.forAll { (map: ListMap[Int,Int], key: Int) =>
|
2013-11-04 17:27:46 +01:00
|
|
|
{ Prop.throws(classOf[Exception])((map - key)(key)) } &&
|
2009-10-19 04:25:50 +02:00
|
|
|
{ !(map - key).contains(key) } &&
|
|
|
|
|
{ (map - key).get(key).isEmpty }
|
|
|
|
|
}
|
|
|
|
|
property("empty") = Prop.forAll { (key: Int) =>
|
2013-11-04 17:27:46 +01:00
|
|
|
{ Prop.throws(classOf[Exception])(ListMap.empty(key)) }
|
2009-10-19 04:25:50 +02:00
|
|
|
{ !ListMap.empty.contains(key) } &&
|
|
|
|
|
{ ListMap.empty.get(key).isEmpty }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
object ListMapEmpty extends Properties("ListMap.empty")
|
|
|
|
|
{
|
|
|
|
|
import ListMap.empty
|
|
|
|
|
property("isEmpty") = empty.isEmpty
|
|
|
|
|
property("toList.isEmpty") = empty.toList.isEmpty
|
|
|
|
|
property("toSeq.isEmpty") = empty.toSeq.isEmpty
|
|
|
|
|
property("toStream.isEmpty") = empty.toStream.isEmpty
|
|
|
|
|
property("keys.isEmpty") = empty.keys.isEmpty
|
2010-06-22 03:24:25 +02:00
|
|
|
property("iterator.isEmpty") = empty.iterator.isEmpty
|
2009-10-19 04:25:50 +02:00
|
|
|
}
|