Припустимо, я хочу спробувати тест методу з цим підписом:
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 для такого типу речей? Якщо так, то яка б була верхня версія мого псевдосинтаксису вище?