2013-08-22 63 views
0

我們開始使用Scala Test來測試我們的Java應用程序,並且我想測試Java Collection的內容。我們想出了兩個可能性:我應該使用collectionAsScalaIterable({java collection})還是Seq({java collection})。flatten?

JavaConversions.collectionAsScalaIterable(getJavaCollection()) must contain(allOf(item1, item2).inOrder) 

Seq(getJavaCollection()).flatten mustEqual Seq(item1, item2) 

作爲一個初學者到Scala的,我不知道哪種方式會更好(或者是有更好的方法)?

回答

2
import scala.collection.JavaConverters._ 
val col = getJavaCollection().asScala //a scala mutable Buffer 
col mustEqual Seq(item1, item2) 

您可以使用col作爲Seq並進行必要的計算。

有時最好是谷歌:)

  1. How can I convert a Java Iterable to a Scala Iterable?
  2. How to convert a java.util.List to a Scala list
  3. Iterating over Java collections in Scala
  4. Converting a Java collection into a Scala collection
+0

如果我使用mustEqual在你的答案,我得到'包裝器( item1,item2)不等於List(item1,item2)'。然而,我可以做'getJavaCollection()。asScala必須包含(allOf(item1,item2).inOrder)'並且它通過。感謝指向JavaConverters的指針。 – Bernie

相關問題