2017-01-26 22 views
0

的方法正在返回的元组的一个Map,对于此测试通过我需要检查地图包含n键数以及该密钥值相匹配。Scalatest如果地图包含的值形成一个列表

我从result.foreach(f=> f._ == "value"))开始,但我似乎无法检查相同循环中的其他值。

+0

键和值的类型是什么? – Vidya

+0

@Vidya他们都是字符串,密钥是唯一的 – null

+0

你能举一个地图和列表的例子以及你想从他们得到什么? – Psidom

回答

0

假设你有地图,定义如下:

val test = Map(("a","aa") -> false, ("b","bb") -> false, ("c","cc") -> true) 

你可以这样做:

test.map { foo => val ((tupleKey,tupleValue),value) = foo // you could add your checking of key value here (tupleKey,tupleValue,value) }

在代码段中,我使用的变量名来访问的元组元素。我返回一个元组等什么应返回的是:

res2: scala.collection.immutable.Iterable[(String, String, Boolean)] = List((a,aa,false), (b,bb,false), (c,cc,true))

正如你可以看到上面你可以访问tupleKeytupleValuevalue,你想访问。为简单起见,我使用了字符串和布尔值,但您也可以轻松地将上述示例用于您的用例。关于检查地图测试,您可以添加test.size mustEqual expectedSize,其中​​是val,这是您期望的集合的大小。

让我知道你是否需要更多的澄清。我很乐意提供帮助。

相关问题