Учитывая список объектов, которые я хотел бы проверить, чтобы они вернулись в правильном порядке, но я бы не хотел утверждать весь объект.проверка порядка коллекции
Например, я хотел бы, чтобы убедиться, что они в порядке
id 1,
id 2,
id 3,
или в другом случае
date mostRecent
date older
date oldest
или в еще одном случае
enum ValueA
enum ValueB
enum ValueC
в основном Я хочу проверить, что сортировка, указанная мной, прошла правильно, но только одно свойство на объекте действительно влияет s, поэтому я хотел бы указать мой тест с некоторым вариантом hasFirstItem(withPropertyEqualTo ... has secondItem(withPropertyEqualTo
Я знаю, что могу написать
assertEquals(property, list.get(0).id)
assertEquals(property, list.get(1).id)
, но я предпочел бы сделать что-то, что делает отказ немного более очевидным, чтобы будучи проблемой сортировки и, возможно, декларативно, одновременно проверяя всю коллекцию. Это возможно?
Можете ли вы использовать Java 8? Если это так, я могу сопоставить функцию свойства над списком и утвердить результат. –
JUnit/Hamcrests ['assertThat (актуально, содержит (item1, item2, ...));] (http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matchers.html#contains%28E ...% 29) должен сделать это. Вы даже можете написать собственные Матчи, которые делают чек, как вы хотите –