View Javadoc
1   /*
2    * MIT License
3    * Copyright (c) 2006-2025 JMockit developers
4    * See LICENSE file for full license text.
5    */
6   package otherTests.testng;
7   
8   import static org.testng.Assert.assertEquals;
9   import static org.testng.Assert.assertSame;
10  
11  import javax.naming.Reference;
12  
13  import mockit.Mock;
14  import mockit.MockUp;
15  
16  import org.testng.annotations.AfterMethod;
17  import org.testng.annotations.DataProvider;
18  import org.testng.annotations.Test;
19  
20  public final class TestNGDecoratorTest extends BaseTestNGDecoratorTest {
21      public static class FakeClass2 extends MockUp<Reference> {
22          @Mock
23          public String getClassName() {
24              return "TEST2";
25          }
26      }
27  
28      @Test
29      public void applyAndUseSomeFakes() {
30          assertEquals(new SimpleComponent().getInfo(), "TEST1");
31          assertEquals(new Reference("REAL2").getClassName(), "REAL2");
32  
33          new FakeClass2();
34  
35          assertEquals(new Reference("").getClassName(), "TEST2");
36          assertEquals(new SimpleComponent().getInfo(), "TEST1");
37      }
38  
39      @Test
40      public void applyAndUseFakesAgain() {
41          assertEquals(new SimpleComponent().getInfo(), "TEST1");
42          assertEquals(new Reference("REAL2").getClassName(), "REAL2");
43  
44          new FakeClass2();
45  
46          assertEquals(new Reference("").getClassName(), "TEST2");
47          assertEquals(new SimpleComponent().getInfo(), "TEST1");
48      }
49  
50      @AfterMethod
51      public void afterTest() {
52          assertEquals(new Reference("REAL2").getClassName(), "REAL2");
53      }
54  
55      public static class Temp {
56      }
57  
58      private static final Temp temp = new Temp();
59  
60      @DataProvider(name = "data")
61      public Object[][] createData1() {
62          return new Object[][] { { temp } };
63      }
64  
65      @Test(dataProvider = "data")
66      public void checkNoMockingOfParametersWhenUsingDataProvider(Temp t) {
67          // noinspection MisorderedAssertEqualsArgumentsTestNG
68          assertSame(t, temp);
69      }
70  }