我需要測試某些複雜對象的有序List
的方法。簡單的例子:測試集合滿足謂詞中的所有元素
class MyObject {
public String foo() { return someString; }
}
我想測試兩種:訂購返回集合的(因爲我現在是用org.hamcrest.collection.IsIterableContainingInOrder.contains
和fulfiling謂詞)。
總結。我在尋找這樣的語法:
@Test
public void shouldMatchPredicate() {
List<MyObject> collection = testObject.generate();
//collection = [myObject#x, myObject#y, myObject#z]
assertThat(collection, somePredicate("x", "y", "z")
}
默認的,contains
方法是行不通的,因爲第一個參數是Collection<MyObject>
和謂詞參數是String
秒。我需要一些它之間的橋樑。
數據生成超出了範圍這個問題。這是一個非常簡單的例子 - 在我真實的情況下,它使用第三方代碼和通用方法不能被修改。關於斷言 - 是的,它會工作,但我看起來更乾淨的方式(清潔Hamcrest方式?) – 2012-04-13 10:24:25