1
2
3
4
5 package mockit.coverage.dataItems;
6
7 import edu.umd.cs.findbugs.annotations.NonNull;
8
9 import java.util.HashMap;
10 import java.util.Map;
11
12 import mockit.internal.state.TestRun;
13
14 public final class StaticFieldData extends FieldData {
15 private static final long serialVersionUID = -6596622341651601060L;
16
17 @NonNull
18 private final transient Map<Integer, Boolean> testIdsToAssignments = new HashMap<>();
19
20 void registerAssignment() {
21 int testId = TestRun.getTestId();
22 testIdsToAssignments.put(testId, Boolean.TRUE);
23 writeCount++;
24 }
25
26 void registerRead() {
27 int testId = TestRun.getTestId();
28 testIdsToAssignments.put(testId, null);
29 readCount++;
30 }
31
32 @Override
33 void markAsCoveredIfNoUnreadValuesAreLeft() {
34 for (Boolean withUnreadValue : testIdsToAssignments.values()) {
35 if (withUnreadValue == null) {
36 covered = true;
37 break;
38 }
39 }
40 }
41 }