Supponiamo di voler eseguire un test unitario di un metodo con questa firma:
List<MyItem> getMyItems();
Supponiamo che MyItemsia 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 MyItemistanze, 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?