Scalatest检查映射是否包含列表中的值

Scalatest检查映射是否包含列表中的值,scala,scalatest,Scala,Scalatest,一个方法返回元组的Map,要通过此测试,我需要检查Map是否包含n个键,以及键值是否匹配 我从一个结果开始。foreach(f=>f.\u==“value”)但我似乎无法检查同一循环中的其他值。假设您定义了以下映射: val test = Map( ("a","aa") -> false, ("b","bb") -> false, ("c","cc") -> true) 你可以这样做: test.map{ foo=>val((tupleKey,tupleValue),valu

一个方法返回元组的
Map
,要通过此测试,我需要检查Map是否包含
n
个键,以及键值是否匹配


我从一个
结果开始。foreach(f=>f.\u==“value”)
但我似乎无法检查同一循环中的其他值。

假设您定义了以下映射:

val test = Map( ("a","aa") -> false, ("b","bb") -> false, ("c","cc") -> true)
你可以这样做:

test.map{
foo=>val((tupleKey,tupleValue),value)=foo
//您可以在此处添加对键值的检查
(tupleKey、tupleValue、value)
}

在上面的代码片段中,我使用变量名访问元组元素。我正在返回一个元组,因此应该返回的是:

res2:scala.collection.immutable.Iterable[(字符串,字符串,布尔)]=列表((a,aa,false),(b,bb,false),(c,cc,true))

如上所示,您可以访问想要访问的
tupleKey
tupleValue
value
。为了简单起见,我使用了字符串和布尔值,但是您也可以轻松地将上面的示例用于您的用例。关于检查映射测试,您可以添加
test.size必须等于expectedSize
,其中
expectedSize
是一个
val
,它是您期望的集合大小


如果你需要更多的澄清,请告诉我。我很乐意提供帮助。

键和值的类型是什么?@Vidya它们都是字符串,键是唯一的。你能给出地图和列表的示例,以及你想从中获得什么吗?