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