2

我从这里获取了一些 Scala CSV 解析代码:

使用 Scala 解析器组合器解析 CSV 文件

然后我尝试为它编写一个基本测试:

assertEquals(List(List()), CSV.parse(""))

这失败了,并带有消息:

java.lang.AssertionError:预期: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())>
4

1 回答 1

2

编辑:我尝试了您在链接中提供的解析器:

scala> CSV.parse("")
res7: List[List[String]] = List(List(""))

显然,它不会返回带有空列表的列表,而是带有带有空字符串的列表的列表。所以你的测试应该失败。

于 2011-07-13T15:50:59.920 回答