View Javadoc
1   /*
2    * MIT License
3    * Copyright (c) 2006-2025 JMockit developers
4    * See LICENSE file for full license text.
5    */
6   package integration.tests.data;
7   
8   import org.junit.jupiter.api.AfterAll;
9   import org.junit.jupiter.api.Test;
10  
11  import integration.tests.CoverageTest;
12  
13  class ClassWithInstanceFieldsTest extends CoverageTest {
14      ClassWithInstanceFields tested;
15  
16      @Test
17      void finalField() {
18          assert tested.getFinalField() == 123;
19  
20          assertFieldIgnored("finalField");
21      }
22  
23      @Test
24      void coveredBooleanFieldOnMultipleInstances() {
25          tested.setBooleanField(true);
26          assert tested.isBooleanField();
27  
28          ClassWithInstanceFields tested2 = new ClassWithInstanceFields();
29          tested2.setBooleanField(false);
30          assert !tested2.isBooleanField();
31  
32          assertInstanceFieldCovered("booleanField");
33      }
34  
35      @Test
36      void uncoveredByteFieldOnMultipleInstances() {
37          assert tested.getByteField() == 0;
38          tested.setByteField((byte) 1);
39          assert tested.getByteField() == 1;
40  
41          ClassWithInstanceFields tested2 = new ClassWithInstanceFields();
42          assert tested2.getByteField() == 0;
43  
44          ClassWithInstanceFields tested3 = new ClassWithInstanceFields();
45          tested3.setByteField((byte) 3);
46  
47          assertInstanceFieldUncovered("byteField", tested3);
48      }
49  
50      @Test
51      void coveredCharField() {
52          tested.setCharField('c');
53          assert tested.getCharField() == 'c';
54          assert tested.getCharField() != 'd';
55  
56          assertInstanceFieldCovered("charField");
57      }
58  
59      @Test
60      void uncoveredShortFieldOnMultipleInstances() {
61          tested.setShortField((short) 1);
62  
63          ClassWithInstanceFields tested2 = new ClassWithInstanceFields();
64          tested2.setShortField((short) 2);
65  
66          assertInstanceFieldUncovered("shortField", tested, tested2);
67      }
68  
69      @Test
70      void coveredIntFieldOnMultipleInstances() {
71          ClassWithInstanceFields tested2 = new ClassWithInstanceFields();
72  
73          tested.setIntField(1);
74          tested2.setIntField(-1);
75  
76          assert tested2.getIntField() == -1;
77          assert tested.getIntField() == 1;
78  
79          assertInstanceFieldCovered("intField");
80      }
81  
82      @Test
83      void coveredLongFieldOnMultipleInstances() {
84          tested.setLongField(1);
85          assert tested.getLongField() == 1;
86  
87          ClassWithInstanceFields tested2 = new ClassWithInstanceFields();
88          tested2.setLongField(2);
89          assert tested2.getLongField() == 2;
90  
91          assertInstanceFieldCovered("longField");
92      }
93  
94      @Test
95      void uncoveredFloatFieldOnMultipleInstances() {
96          tested.setFloatField(1);
97  
98          ClassWithInstanceFields tested2 = new ClassWithInstanceFields();
99          tested2.setFloatField(2.0F);
100         assert tested2.getFloatField() >= 2.0F;
101 
102         assertInstanceFieldUncovered("floatField", tested);
103     }
104 
105     @Test
106     void coveredDoubleFieldOnMultipleInstances() {
107         tested.setDoubleField(1);
108         assert tested.getDoubleField() >= 1;
109 
110         ClassWithInstanceFields tested2 = new ClassWithInstanceFields();
111         tested2.setDoubleField(2);
112         assert tested2.getDoubleField() <= 2;
113 
114         assertInstanceFieldCovered("doubleField");
115     }
116 
117     @Test
118     void coveredArrayFieldOnMultipleInstances() {
119         tested.setArrayField(null);
120         assert tested.getArrayField() == null;
121 
122         ClassWithInstanceFields tested2 = new ClassWithInstanceFields();
123         tested2.setArrayField(new int[0]);
124         assert tested2.getArrayField().length == 0;
125 
126         assertInstanceFieldCovered("arrayField");
127     }
128 
129     @AfterAll
130     static void verifyDataCoverage() {
131         verifyDataCoverage(9, 6, 67);
132     }
133 }