blob: a2498e992673edd5722539879f904da528b6f2f4 [file] [log] [blame]
package org.mockitousage.bugs;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.spy;
public class ImplementationOfGenericAbstractMethodNotInvokedOnSpyTest {
public abstract class GenericAbstract<T> {
protected abstract String method_to_implement(T value);
public String public_method(T value) {
return method_to_implement(value);
}
}
public class ImplementsGenericMethodOfAbstract<T extends Number> extends GenericAbstract<T> {
@Override
protected String method_to_implement(T value) {
return "concrete value";
}
}
@Test
public void should_invoke_method_to_implement() {
GenericAbstract<Number> spy = spy(new ImplementsGenericMethodOfAbstract<Number>());
assertThat(spy.public_method(73L)).isEqualTo("concrete value");
}
}