Припустимо, я хочу спробувати тест методу з цим підписом:
List<MyItem> getMyItems();
Припустимо MyItem
, це Pojo, який має багато властивостей, до одного з яких можна "name"
отримати доступ getName()
.
Мені важливо переконатися в тому List<MyItem>
, що або будь-який Iterable
містить два MyItem
екземпляри, "name"
властивості яких мають значення "foo"
та "bar"
. Якщо будь-які інші властивості не відповідають, я не дуже цікавлюсь цілями цього тесту. Якщо назви відповідають, це успішний тест.
Я хотів би, щоб це був однолінійний, якщо це можливо. Ось якийсь "псевдосинтаксис" такого роду, що я хотів би зробити.
assert(listEntriesMatchInAnyOrder(myClass.getMyItems(), property("name"), new String[]{"foo", "bar"});
Чи вдасться Hamcrest для такого типу речей? Якщо так, то яка б була верхня версія мого псевдосинтаксису вище?