У меня есть метод класса
interface Class1{
void method1(SomeObject... parameters);
}
У меня есть пользовательский сопоставитель Hamcrest
public class SomeObjectMatcher extends BaseMatcher<SomeObject>{...}
Как написать ожидание, соответствующее объекту, переданному методу1
SomeObject someObject = new SomeObject(...);
...
mockery.checking(new Expectations(){{
oneOf(class1).method1(with(new SomeObjectMatcher(someObject1)));
}}
Фактический вызов:
class1.method1(someObject);
Переданный объект и ожидаемый один и тот же, но SomeObjectMatcher завершается ошибкой, поскольку фактический переданный параметр - это не someObject1, а SomeObject [] {someObject1} (массив столько один объект - someObject1)?Есть ли способ добавить в цепочку новый механизм сопоставления, например,
oneOf(class1).method1(with(arrayHas(new SomeObjectMatcher(someObject1))));