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