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