1
2
3
4
5
6 package mockit.integration.junit4;
7
8 import static org.junit.jupiter.api.Assertions.assertEquals;
9
10 import mockit.Mock;
11 import mockit.MockUp;
12
13 import org.junit.BeforeClass;
14 import org.junit.Test;
15
16 public final class ThirdJUnit4DecoratorTest extends BaseJUnit4DecoratorTest {
17 public static final class RealClass4 {
18 public String getValue() {
19 return "REAL4";
20 }
21 }
22
23 public static final class FakeClass4 extends MockUp<RealClass4> {
24 @Mock
25 public String getValue() {
26 return "TEST4";
27 }
28 }
29
30 @BeforeClass
31 public static void applyFakes() {
32 new FakeClass4();
33 }
34
35 @Test
36 public void realClassesFakedInBaseClassMustStillBeFakedHere() {
37 assertEquals("TEST0", new RealClass0().getValue());
38 assertEquals("TEST1", new RealClass1().getValue());
39 }
40
41 @Test
42 public void realClassesFakedInOtherTestClassesMustNotBeFakedHere() {
43 assertEquals("REAL2", new JUnit4DecoratorTest.RealClass2().getValue());
44 assertEquals("REAL3", new SecondJUnit4DecoratorTest.RealClass3().getValue());
45 }
46
47 @Test
48 public void useClassScopedFakeDefinedForThisClass() {
49 assertEquals("TEST4", new RealClass4().getValue());
50 }
51 }