我从这里抓取了一些Scala CSV解析代码:
Use Scala parser combinator to parse CSV files
然后我尝试为它编写基本测试:
assertEquals(List(List()), CSV.parse(""))
这会失败,并显示消息:
java.lang.AssertionError:expected:scala.collection.immutable。$ colon $ colon但是:scala.collection.immutable。$ colon $ colon
有什么想法吗? CSV.parse的输出是一个空List [List [String]],但似乎有一个不同于List(Nil)或ListList [String]等的hashCode。我似乎无法找到任何方法来组成一个列表等于CSV.parse(“”)的输出。
更新
以下是使用REPL的失败:
scala> assertEquals(List(Nil), CSV.parse(""))
java.lang.AssertionError: expected: scala.collection.immutable.$colon$colon<List(List())> but was: scala.collection.immutable.$colon$colon<List(List())>
答案 0 :(得分:2)
编辑:我尝试了您在链接中提供的解析器:
scala> CSV.parse("")
res7: List[List[String]] = List(List(""))
显然,它不会返回带有空List的List,而是返回带有空字符串的List的List。所以你的测试应该失败。