Я хочу проверить, соответствует ли конкретное поле объекта указанному мной значению. В данном случае это имя сегмента внутри объекта S3Bucket. Насколько я могу судить, мне нужно написать собственный сопоставитель для этого:
mockery.checking(new Expectations() {{
one(query.s3).getObject(with(
new BaseMatcher<S3Bucket>() {
@Override
public boolean matches(Object item) {
if (item instanceof S3Bucket) {
return ((S3Bucket)item).getName().equals("bucket");
} else {
return false;
}
}
@Override
public void describeTo(Description description) {
description.appendText("Bucket name isn't \"bucket\"");
}
}), with(equal("key")));
...
}});
Было бы неплохо, если бы существовал более простой способ сделать это, например:
mockery.checking(new Expectations() {{
one(query.s3).getObject(
with(equal(methodOf(S3Bucket.class).getName(), "bucket")),
with(equal("key")));
...
}});
Может ли кто-нибудь указать мне на что-то подобное? Думаю, в этом случае я уже решил свою проблему, но это не первый раз, когда я желаю более простого способа.