Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.mockito.internal.stubbing.defaultanswers.ReturnsEmptyValues;
- import org.mockito.invocation.InvocationOnMock;
- import org.mockito.stubbing.Answer;
- /**
- * Class for testing fluent interfaces. Based mostly on this blog post:
- *
- * http://jakegoulding.com/blog/2012/01/09/stubbing-builder-pattern-in-mockito/
- *
- * @author durron597
- */
- public class AnswerWithSelf implements Answer<Object> {
- private final Answer<Object> delegate;
- private final Class<?> clazz;
- public AnswerWithSelf(Class<?> clazz) {
- this.clazz = clazz;
- this.delegate = new ReturnsEmptyValues();
- }
- public AnswerWithSelf(Class<?> clazz, Answer<Object> delegate) {
- this.clazz = clazz;
- this.delegate = delegate;
- }
- public Object answer(InvocationOnMock invocation) throws Throwable {
- Class<?> returnType = invocation.getMethod().getReturnType();
- if (returnType.isAssignableFrom(clazz)) {
- return invocation.getMock();
- } else {
- return delegate.answer(invocation);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement