package com.lexicalscope.fluentreflection; import static com.lexicalscope.fluentreflection.FluentReflection.method; import static com.lexicalscope.fluentreflection.ReflectionMatchers.declaredBy; import static org.hamcrest.Matchers.equalTo; import org.hamcrest.Matcher; public class TestMatcherElementDeclaredBy extends AbstractTestReflectionMatcher<FluentMember> { interface NonDeclaringInterface { void basemethod(); } interface DeclaringInterface extends NonDeclaringInterface{ void submethod(); } @Override protected FluentMethod target() { return method(DeclaringInterface.class, "submethod"); } @Override protected FluentMember failingTarget() { return method(DeclaringInterface.class, "basemethod"); } @Override protected ReflectionMatcher<FluentMember> matcher() { return declaredBy(DeclaringInterface.class); } @Override protected Matcher<String> hasDescription() { return equalTo("callable declared by type <" + DeclaringInterface.class + ">"); } }