@Test public <T extends BaseAction> void test4_mockUpConcreteSubclassesUsingAnonymousMockUp() { actionB = new ConcreteAction1(); new MockUp<T>() { @Mock int perform(int i) { return i + 1; } @Mock int toBeMockedAsWell() { return 123; } }; assertEquals(2, actionB.perform(1)); assertEquals(123, actionB.toBeMockedAsWell()); assertEquals(1, actionB.notToBeMocked()); ConcreteAction2 action2 = new ConcreteAction2(); assertEquals(3, action2.perform(2)); assertEquals(123, action2.toBeMockedAsWell()); assertEquals(2, action2.notToBeMocked()); ConcreteAction3 action3 = new ConcreteAction3(); assertEquals(4, action3.perform(3)); assertEquals(123, action3.toBeMockedAsWell()); assertEquals(3, action3.notToBeMocked()); }
@Test public void test6_mockUpConcreteSubclassesUsingNamedMockUp() { new BaseClassMockUp(); actionB = new ConcreteAction1(); assertEquals(4, actionB.perform(1)); assertEquals(5, new ConcreteAction2().perform(2)); assertEquals(6, new ConcreteAction3().perform(3)); }
@After public void checkImplementationClassesAreNoLongerMocked() { if (actionI != null) { assertEquals(-1, actionI.perform(0)); } assertEquals(-2, new ActionImpl2().perform(0)); if (actionB != null) { assertEquals(-1, actionB.perform(0)); } assertEquals(-2, new ConcreteAction2().perform(0)); assertEquals(-3, new ConcreteAction3().perform(0)); }