Supponiamo di voler eseguire un test unitario di un metodo con questa firma:
List<MyItem> getMyItems();
Supponiamo che MyItem
sia un Pojo che ha molte proprietà, una delle quali è "name"
accessibile tramite getName()
.
Tutto quello che mi interessa verificare è che List<MyItem>
, o any Iterable
, contenga due MyItem
istanze, le cui "name"
proprietà hanno i valori "foo"
e "bar"
. Se altre proprietà non corrispondono, non mi interessa davvero gli scopi di questo test. Se i nomi corrispondono, è un test di successo.
Vorrei che fosse una battuta, se possibile. Ecco un po 'di "pseudo-sintassi" del genere di cose che vorrei fare.
assert(listEntriesMatchInAnyOrder(myClass.getMyItems(), property("name"), new String[]{"foo", "bar"});
Hamcrest andrebbe bene per questo tipo di cose? In tal caso, quale sarebbe esattamente la versione hamcrest della mia pseudo-sintassi sopra?