Я хочу проверить, соответствует ли определенное поле объекта указанному мной значению. В данном случае это имя корзины внутри объекта 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")));
...
}});
Кто-нибудь может указать мне на что-то подобное? Думаю, я уже решил свою проблему в этом случае, но я не первый раз желаю более простого способа.