我有这个测试:
@Test
public void UpdateAllFooDatesToOneDayBeforeProvidedDate_TodaysDateAndFooDate_UpdatedDates() {
// arrange
List<Foo> foos = new ArrayList<Foo>();
Date barDate = today;
Foo foo1 = setupFoo();
Foo foo2 = setupFoo();
foos.add(foo1);
foos.add(foo2);
foo1.setValidTo(dateUtil.adjustDaysOfDate(today, 5));
foo2.setValidTo(dateUtil.adjustDaysOfDate(today, 8));
// act
modifyDates.updateAllFooDatesToOneDayBeforeProvidedDate(barDate, foos);
// assert
assertThat(foos, hasItems(...?)); //I don't know how to assert this
}
updateAllFooDatesToOneDayBeforeProvidedDate(Date,List)只需将所有Foos的日期属性更改为barDate 之前的那一天。
我正在尝试使用Hamcrest来帮助我断言列表已更新,但我无法让它真正起作用。
我应该简单地使用foos.get(n).getDate()并断言吗?
断言foos中元素的date属性是否已正确更新的首选方法是什么?
编辑:错字
答案 0 :(得分:6)
难道你不是在这里努力吗?为什么不迭代集合并为每个元素断言?
for ( Foo foo : foos ) { assertThat( foo.getDate() , equalTo( barDate ) ); }
干杯,