package com.fsck.k9;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import static org.mockito.Mockito.RETURNS_DEFAULTS;
import static org.mockito.Mockito.mock;
public class MockHelper {
public static <T> T mockBuilder(Class<T> classToMock) {
return mock(classToMock, new Answer() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
Object mock = invocation.getMock();
if (invocation.getMethod().getReturnType().isInstance(mock)) {
return mock;
} else {
return RETURNS_DEFAULTS.answer(invocation);
}
}
});
}
}