Supposons que je veuille tester unitairement une méthode avec cette signature :
List<MyItem> getMyItems();
Supposons que MyItem
est un Pojo qui a de nombreuses propriétés, dont l'une est "name"
accessible via getName()
.
Tout ce qui m'importe, c'est de vérifier que le List<MyItem>
ou tout autre Iterable
contient deux MyItem
dont les "name"
Les propriétés ont les valeurs suivantes "foo"
y "bar"
. Si d'autres propriétés ne correspondent pas, cela ne m'intéresse pas vraiment pour les besoins de ce test. Si les noms correspondent, c'est un test réussi.
J'aimerais qu'il s'agisse d'une seule 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"});
Est-ce que Hamcrest serait bon pour ce genre de chose ? Si oui, quelle serait exactement la version Hamcrest de ma pseudo-syntaxe ci-dessus ?