Bu imzayla bir yöntemi test etmek istediğimi varsayalım:
List<MyItem> getMyItems();
Farz edelim MyItemki, biri "name"aracılığıyla erişilen birçok özelliği olan bir Pojo getName().
Doğrulama hakkında tek şey bakımı olmasıdır List<MyItem>, ya da herhangi bir Iterable, iki içeriyor MyItemolan örneklerini, "name"özellikleri değerlere sahip "foo"ve "bar". Diğer özellikler eşleşmezse, bu testin amaçlarını gerçekten umursamıyorum. İsimler eşleşirse, başarılı bir testtir.
Mümkünse tek satırlık olmasını isterim. İşte yapmak istediğim türden bazı "sözde sözdizimi".
assert(listEntriesMatchInAnyOrder(myClass.getMyItems(), property("name"), new String[]{"foo", "bar"});
Hamcrest bu tür şeyler için iyi olur mu? Öyleyse, yukarıdaki sözdizimimin hamcrest versiyonu tam olarak ne olurdu?