Supposons que je souhaite tester une méthode avec cette signature:
List<MyItem> getMyItems();
Présumer MyItem
c'est un Pojo qui a de nombreuses propriétés, dont l'une est "name"
accessible via getName()
.
Tout ce que je tiens à vérifier, c'est que le List<MyItem>
, ou un Iterable
, contient deux MyItem
instances, dont"name"
propriétés ont les valeurs "foo"
et "bar"
. Si d'autres propriétés ne correspondent pas, je ne me soucie pas vraiment des objectifs de ce test. Si les noms correspondent, c'est un test réussi.
Je voudrais que ce soit une ligne si possible. Voici une "pseudo-syntaxe" du genre de chose que je voudrais faire.
assert(listEntriesMatchInAnyOrder(myClass.getMyItems(), property("name"), new String[]{"foo", "bar"});
Hamcrest serait-il bon pour ce genre de chose? Si oui, quelle serait exactement la version hamcrest de ma pseudo-syntaxe ci-dessus?