MultiIntCounter.java

1
package net.bmahe.genetics4j.core.util;
2
3
import java.util.Arrays;
4
5
import org.apache.commons.lang3.Validate;
6
7
public class MultiIntCounter {
8
9
	final int[] indices;
10
	final int[] maxIndices;
11
12
	public MultiIntCounter(final int... maxIndices) {
13
		Validate.notNull(maxIndices);
14
		Validate.isTrue(maxIndices.length > 0);
15
16 5 1. <init> : Substituted 0 with 1 → SURVIVED
2. <init> : negated conditional → SURVIVED
3. <init> : removed conditional - replaced comparison check with false → SURVIVED
4. <init> : removed conditional - replaced comparison check with true → KILLED
5. <init> : changed conditional boundary → KILLED
		for (int i = 0; i < maxIndices.length; i++) {
17
			final int maxIndex = maxIndices[i];
18
			Validate.isTrue(maxIndex > 0);
19
		}
20
21 1 1. <init> : Removed assignment to member variable indices → KILLED
		this.indices = new int[maxIndices.length];
22 3 1. <init> : replaced call to java/util/Arrays::copyOf with argument → SURVIVED
2. <init> : removed call to java/util/Arrays::copyOf → KILLED
3. <init> : Removed assignment to member variable maxIndices → KILLED
		this.maxIndices = Arrays.copyOf(maxIndices, maxIndices.length);
23
	}
24
25
	public int[] getIndices() {
26 1 1. getIndices : replaced return value with null for net/bmahe/genetics4j/core/util/MultiIntCounter::getIndices → KILLED
		return indices;
27
	}
28
29
	public int getIndex(final int index) {
30
		Validate.isTrue(index >= 0);
31
		Validate.isTrue(index < indices.length);
32
33 1 1. getIndex : replaced int return with 0 for net/bmahe/genetics4j/core/util/MultiIntCounter::getIndex → SURVIVED
		return indices[index];
34
	}
35
36
	public int[] getMaxIndices() {
37 1 1. getMaxIndices : replaced return value with null for net/bmahe/genetics4j/core/util/MultiIntCounter::getMaxIndices → NO_COVERAGE
		return maxIndices;
38
	}
39
40
	public int getTotal() {
41 1 1. getTotal : Substituted 1 with 0 → KILLED
		int total = 1;
42
		for (int i : maxIndices) {
43 1 1. getTotal : Replaced integer multiplication with division → KILLED
			total *= i;
44
		}
45 1 1. getTotal : replaced int return with 0 for net/bmahe/genetics4j/core/util/MultiIntCounter::getTotal → KILLED
		return total;
46
	}
47
48
	public boolean hasNext() {
49
50
		/**
51
		 * Precondition check if we tried all the combinations
52
		 */
53 1 1. hasNext : Substituted 0 with 1 → KILLED
		boolean allToTheMax = false;
54 8 1. hasNext : removed conditional - replaced equality check with true → SURVIVED
2. hasNext : removed conditional - replaced comparison check with false → TIMED_OUT
3. hasNext : removed conditional - replaced equality check with false → TIMED_OUT
4. hasNext : negated conditional → TIMED_OUT
5. hasNext : negated conditional → TIMED_OUT
6. hasNext : Substituted 0 with 1 → KILLED
7. hasNext : changed conditional boundary → KILLED
8. hasNext : removed conditional - replaced comparison check with true → KILLED
		for (int i = 0; i < indices.length && !allToTheMax; i++) {
55 4 1. hasNext : removed conditional - replaced comparison check with false → TIMED_OUT
2. hasNext : changed conditional boundary → KILLED
3. hasNext : negated conditional → KILLED
4. hasNext : removed conditional - replaced comparison check with true → KILLED
			if (indices[i] >= maxIndices[i]) {
56 1 1. hasNext : Substituted 1 with 0 → TIMED_OUT
				allToTheMax = true;
57
			}
58
		}
59 6 1. hasNext : Substituted 0 with 1 → TIMED_OUT
2. hasNext : replaced boolean return with true for net/bmahe/genetics4j/core/util/MultiIntCounter::hasNext → TIMED_OUT
3. hasNext : removed conditional - replaced equality check with true → TIMED_OUT
4. hasNext : removed conditional - replaced equality check with false → KILLED
5. hasNext : negated conditional → KILLED
6. hasNext : Substituted 1 with 0 → KILLED
		return allToTheMax == false;
60
	}
61
62
	/**
63
	 * 
64
	 * @param indices
65
	 * @param maxIndices
66
	 * @return true if indices was successfully updates; false if there are no new
67
	 *         cases
68
	 */
69
	public int[] next() {
70
71
		Validate.isTrue(hasNext());
72
73 1 1. next : Substituted 1 with 0 → TIMED_OUT
		boolean carryOver = true;
74 1 1. next : Substituted 0 with 1 → KILLED
		int currentIndex = 0;
75 7 1. next : changed conditional boundary → SURVIVED
2. next : removed conditional - replaced comparison check with true → SURVIVED
3. next : removed conditional - replaced equality check with true → TIMED_OUT
4. next : removed conditional - replaced equality check with false → TIMED_OUT
5. next : negated conditional → TIMED_OUT
6. next : removed conditional - replaced comparison check with false → TIMED_OUT
7. next : negated conditional → TIMED_OUT
		while (carryOver && currentIndex < indices.length) {
76
77 2 1. next : Replaced integer addition with subtraction → TIMED_OUT
2. next : Substituted 1 with 0 → TIMED_OUT
			indices[currentIndex] += 1;
78
79 10 1. next : changed conditional boundary → TIMED_OUT
2. next : Substituted 1 with 0 → TIMED_OUT
3. next : removed conditional - replaced comparison check with true → TIMED_OUT
4. next : Replaced integer subtraction with addition → TIMED_OUT
5. next : removed conditional - replaced comparison check with false → KILLED
6. next : removed conditional - replaced comparison check with true → KILLED
7. next : negated conditional → KILLED
8. next : removed conditional - replaced comparison check with false → KILLED
9. next : changed conditional boundary → KILLED
10. next : negated conditional → KILLED
			if (indices[currentIndex] >= maxIndices[currentIndex] && currentIndex < indices.length - 1) {
80 1 1. next : Substituted 0 with 1 → KILLED
				indices[currentIndex] = 0;
81
82 5 1. next : removed conditional - replaced comparison check with false → SURVIVED
2. next : changed conditional boundary → SURVIVED
3. next : Substituted 0 with 1 → SURVIVED
4. next : negated conditional → KILLED
5. next : removed conditional - replaced comparison check with true → KILLED
				for (int j = 0; j < currentIndex; j++) {
83 1 1. next : Substituted 0 with 1 → KILLED
					indices[j] = 0;
84
				}
85
86 2 1. next : Removed increment 1 → TIMED_OUT
2. next : Changed increment from 1 to -1 → KILLED
				currentIndex++;
87 1 1. next : Substituted 1 with 0 → TIMED_OUT
				carryOver = true;
88
			} else {
89 1 1. next : Substituted 0 with 1 → TIMED_OUT
				carryOver = false;
90
			}
91
92
		}
93
94 1 1. next : replaced return value with null for net/bmahe/genetics4j/core/util/MultiIntCounter::next → SURVIVED
		return indices;
95
	}
96
97
	@Override
98
	public int hashCode() {
99 1 1. hashCode : Substituted 31 with 32 → NO_COVERAGE
		final int prime = 31;
100 1 1. hashCode : Substituted 1 with 0 → NO_COVERAGE
		int result = 1;
101 4 1. hashCode : Replaced integer multiplication with division → NO_COVERAGE
2. hashCode : Replaced integer addition with subtraction → NO_COVERAGE
3. hashCode : Substituted 31 with 32 → NO_COVERAGE
4. hashCode : removed call to java/util/Arrays::hashCode → NO_COVERAGE
		result = prime * result + Arrays.hashCode(indices);
102 4 1. hashCode : Replaced integer multiplication with division → NO_COVERAGE
2. hashCode : Replaced integer addition with subtraction → NO_COVERAGE
3. hashCode : removed call to java/util/Arrays::hashCode → NO_COVERAGE
4. hashCode : Substituted 31 with 32 → NO_COVERAGE
		result = prime * result + Arrays.hashCode(maxIndices);
103 1 1. hashCode : replaced int return with 0 for net/bmahe/genetics4j/core/util/MultiIntCounter::hashCode → NO_COVERAGE
		return result;
104
	}
105
106
	@Override
107
	public boolean equals(Object obj) {
108 2 1. equals : removed conditional - replaced equality check with true → NO_COVERAGE
2. equals : negated conditional → NO_COVERAGE
		if (this == obj)
109 2 1. equals : replaced boolean return with false for net/bmahe/genetics4j/core/util/MultiIntCounter::equals → NO_COVERAGE
2. equals : Substituted 1 with 0 → NO_COVERAGE
			return true;
110 3 1. equals : negated conditional → NO_COVERAGE
2. equals : removed conditional - replaced equality check with true → NO_COVERAGE
3. equals : removed conditional - replaced equality check with false → NO_COVERAGE
		if (obj == null)
111 2 1. equals : replaced boolean return with true for net/bmahe/genetics4j/core/util/MultiIntCounter::equals → NO_COVERAGE
2. equals : Substituted 0 with 1 → NO_COVERAGE
			return false;
112 5 1. equals : negated conditional → NO_COVERAGE
2. equals : removed conditional - replaced equality check with true → NO_COVERAGE
3. equals : removed call to java/lang/Object::getClass → NO_COVERAGE
4. equals : removed call to java/lang/Object::getClass → NO_COVERAGE
5. equals : removed conditional - replaced equality check with false → NO_COVERAGE
		if (getClass() != obj.getClass())
113 2 1. equals : Substituted 0 with 1 → NO_COVERAGE
2. equals : replaced boolean return with true for net/bmahe/genetics4j/core/util/MultiIntCounter::equals → NO_COVERAGE
			return false;
114
		MultiIntCounter other = (MultiIntCounter) obj;
115 4 1. equals : removed conditional - replaced equality check with false → NO_COVERAGE
2. equals : negated conditional → NO_COVERAGE
3. equals : removed call to java/util/Arrays::equals → NO_COVERAGE
4. equals : removed conditional - replaced equality check with true → NO_COVERAGE
		if (!Arrays.equals(indices, other.indices))
116 2 1. equals : Substituted 0 with 1 → NO_COVERAGE
2. equals : replaced boolean return with true for net/bmahe/genetics4j/core/util/MultiIntCounter::equals → NO_COVERAGE
			return false;
117 4 1. equals : removed call to java/util/Arrays::equals → NO_COVERAGE
2. equals : removed conditional - replaced equality check with false → NO_COVERAGE
3. equals : removed conditional - replaced equality check with true → NO_COVERAGE
4. equals : negated conditional → NO_COVERAGE
		if (!Arrays.equals(maxIndices, other.maxIndices))
118 2 1. equals : Substituted 0 with 1 → NO_COVERAGE
2. equals : replaced boolean return with true for net/bmahe/genetics4j/core/util/MultiIntCounter::equals → NO_COVERAGE
			return false;
119 2 1. equals : replaced boolean return with false for net/bmahe/genetics4j/core/util/MultiIntCounter::equals → NO_COVERAGE
2. equals : Substituted 1 with 0 → NO_COVERAGE
		return true;
120
	}
121
122
	@Override
123
	public String toString() {
124 3 1. toString : replaced return value with "" for net/bmahe/genetics4j/core/util/MultiIntCounter::toString → SURVIVED
2. toString : removed call to java/util/Arrays::toString → SURVIVED
3. toString : removed call to java/util/Arrays::toString → SURVIVED
		return "MultiIntCounter [indices=" + Arrays.toString(indices) + ", maxIndices=" + Arrays.toString(maxIndices)
125
				+ "]";
126
	}
127
}

Mutations

16

1.1
Location : <init>
Killed by : none
Substituted 0 with 1 → SURVIVED
Covering tests

2.2
Location : <init>
Killed by : none
negated conditional → SURVIVED Covering tests

3.3
Location : <init>
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
removed conditional - replaced comparison check with true → KILLED

4.4
Location : <init>
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
changed conditional boundary → KILLED

5.5
Location : <init>
Killed by : none
removed conditional - replaced comparison check with false → SURVIVED Covering tests

21

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
Removed assignment to member variable indices → KILLED

22

1.1
Location : <init>
Killed by : none
replaced call to java/util/Arrays::copyOf with argument → SURVIVED
Covering tests

2.2
Location : <init>
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
removed call to java/util/Arrays::copyOf → KILLED

3.3
Location : <init>
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
Removed assignment to member variable maxIndices → KILLED

26

1.1
Location : getIndices
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
replaced return value with null for net/bmahe/genetics4j/core/util/MultiIntCounter::getIndices → KILLED

33

1.1
Location : getIndex
Killed by : none
replaced int return with 0 for net/bmahe/genetics4j/core/util/MultiIntCounter::getIndex → SURVIVED
Covering tests

37

1.1
Location : getMaxIndices
Killed by : none
replaced return value with null for net/bmahe/genetics4j/core/util/MultiIntCounter::getMaxIndices → NO_COVERAGE

41

1.1
Location : getTotal
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
Substituted 1 with 0 → KILLED

43

1.1
Location : getTotal
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
Replaced integer multiplication with division → KILLED

45

1.1
Location : getTotal
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
replaced int return with 0 for net/bmahe/genetics4j/core/util/MultiIntCounter::getTotal → KILLED

53

1.1
Location : hasNext
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
Substituted 0 with 1 → KILLED

54

1.1
Location : hasNext
Killed by : none
removed conditional - replaced comparison check with false → TIMED_OUT

2.2
Location : hasNext
Killed by : none
removed conditional - replaced equality check with false → TIMED_OUT

3.3
Location : hasNext
Killed by : net.bmahe.genetics4j.core.EASystemTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.EASystemTest]/[method:testEvolveWithPostEvaluationProcessor()]
Substituted 0 with 1 → KILLED

4.4
Location : hasNext
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
changed conditional boundary → KILLED

5.5
Location : hasNext
Killed by : none
negated conditional → TIMED_OUT

6.6
Location : hasNext
Killed by : none
negated conditional → TIMED_OUT

7.7
Location : hasNext
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
removed conditional - replaced comparison check with true → KILLED

8.8
Location : hasNext
Killed by : none
removed conditional - replaced equality check with true → SURVIVED
Covering tests

55

1.1
Location : hasNext
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
changed conditional boundary → KILLED

2.2
Location : hasNext
Killed by : none
removed conditional - replaced comparison check with false → TIMED_OUT

3.3
Location : hasNext
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
negated conditional → KILLED

4.4
Location : hasNext
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
removed conditional - replaced comparison check with true → KILLED

56

1.1
Location : hasNext
Killed by : none
Substituted 1 with 0 → TIMED_OUT

59

1.1
Location : hasNext
Killed by : none
Substituted 0 with 1 → TIMED_OUT

2.2
Location : hasNext
Killed by : none
replaced boolean return with true for net/bmahe/genetics4j/core/util/MultiIntCounter::hasNext → TIMED_OUT

3.3
Location : hasNext
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
removed conditional - replaced equality check with false → KILLED

4.4
Location : hasNext
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
negated conditional → KILLED

5.5
Location : hasNext
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
Substituted 1 with 0 → KILLED

6.6
Location : hasNext
Killed by : none
removed conditional - replaced equality check with true → TIMED_OUT

73

1.1
Location : next
Killed by : none
Substituted 1 with 0 → TIMED_OUT

74

1.1
Location : next
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
Substituted 0 with 1 → KILLED

75

1.1
Location : next
Killed by : none
removed conditional - replaced equality check with true → TIMED_OUT

2.2
Location : next
Killed by : none
removed conditional - replaced equality check with false → TIMED_OUT

3.3
Location : next
Killed by : none
changed conditional boundary → SURVIVED
Covering tests

4.4
Location : next
Killed by : none
removed conditional - replaced comparison check with true → SURVIVED Covering tests

5.5
Location : next
Killed by : none
negated conditional → TIMED_OUT

6.6
Location : next
Killed by : none
removed conditional - replaced comparison check with false → TIMED_OUT

7.7
Location : next
Killed by : none
negated conditional → TIMED_OUT

77

1.1
Location : next
Killed by : none
Replaced integer addition with subtraction → TIMED_OUT

2.2
Location : next
Killed by : none
Substituted 1 with 0 → TIMED_OUT

79

1.1
Location : next
Killed by : none
changed conditional boundary → TIMED_OUT

2.2
Location : next
Killed by : none
Substituted 1 with 0 → TIMED_OUT

3.3
Location : next
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
removed conditional - replaced comparison check with false → KILLED

4.4
Location : next
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
removed conditional - replaced comparison check with true → KILLED

5.5
Location : next
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
negated conditional → KILLED

6.6
Location : next
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
removed conditional - replaced comparison check with false → KILLED

7.7
Location : next
Killed by : none
removed conditional - replaced comparison check with true → TIMED_OUT

8.8
Location : next
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
changed conditional boundary → KILLED

9.9
Location : next
Killed by : none
Replaced integer subtraction with addition → TIMED_OUT

10.10
Location : next
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
negated conditional → KILLED

80

1.1
Location : next
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
Substituted 0 with 1 → KILLED

82

1.1
Location : next
Killed by : none
removed conditional - replaced comparison check with false → SURVIVED
Covering tests

2.2
Location : next
Killed by : none
changed conditional boundary → SURVIVED Covering tests

3.3
Location : next
Killed by : none
Substituted 0 with 1 → SURVIVED Covering tests

4.4
Location : next
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
negated conditional → KILLED

5.5
Location : next
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
removed conditional - replaced comparison check with true → KILLED

83

1.1
Location : next
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
Substituted 0 with 1 → KILLED

86

1.1
Location : next
Killed by : none
Removed increment 1 → TIMED_OUT

2.2
Location : next
Killed by : net.bmahe.genetics4j.core.util.MultiIntCounterTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.util.MultiIntCounterTest]/[method:basicValidation()]
Changed increment from 1 to -1 → KILLED

87

1.1
Location : next
Killed by : none
Substituted 1 with 0 → TIMED_OUT

89

1.1
Location : next
Killed by : none
Substituted 0 with 1 → TIMED_OUT

94

1.1
Location : next
Killed by : none
replaced return value with null for net/bmahe/genetics4j/core/util/MultiIntCounter::next → SURVIVED
Covering tests

99

1.1
Location : hashCode
Killed by : none
Substituted 31 with 32 → NO_COVERAGE

100

1.1
Location : hashCode
Killed by : none
Substituted 1 with 0 → NO_COVERAGE

101

1.1
Location : hashCode
Killed by : none
Replaced integer multiplication with division → NO_COVERAGE

2.2
Location : hashCode
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

3.3
Location : hashCode
Killed by : none
Substituted 31 with 32 → NO_COVERAGE

4.4
Location : hashCode
Killed by : none
removed call to java/util/Arrays::hashCode → NO_COVERAGE

102

1.1
Location : hashCode
Killed by : none
Replaced integer multiplication with division → NO_COVERAGE

2.2
Location : hashCode
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

3.3
Location : hashCode
Killed by : none
removed call to java/util/Arrays::hashCode → NO_COVERAGE

4.4
Location : hashCode
Killed by : none
Substituted 31 with 32 → NO_COVERAGE

103

1.1
Location : hashCode
Killed by : none
replaced int return with 0 for net/bmahe/genetics4j/core/util/MultiIntCounter::hashCode → NO_COVERAGE

108

1.1
Location : equals
Killed by : none
removed conditional - replaced equality check with true → NO_COVERAGE

2.2
Location : equals
Killed by : none
negated conditional → NO_COVERAGE

109

1.1
Location : equals
Killed by : none
replaced boolean return with false for net/bmahe/genetics4j/core/util/MultiIntCounter::equals → NO_COVERAGE

2.2
Location : equals
Killed by : none
Substituted 1 with 0 → NO_COVERAGE

110

1.1
Location : equals
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : equals
Killed by : none
removed conditional - replaced equality check with true → NO_COVERAGE

3.3
Location : equals
Killed by : none
removed conditional - replaced equality check with false → NO_COVERAGE

111

1.1
Location : equals
Killed by : none
replaced boolean return with true for net/bmahe/genetics4j/core/util/MultiIntCounter::equals → NO_COVERAGE

2.2
Location : equals
Killed by : none
Substituted 0 with 1 → NO_COVERAGE

112

1.1
Location : equals
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : equals
Killed by : none
removed conditional - replaced equality check with true → NO_COVERAGE

3.3
Location : equals
Killed by : none
removed call to java/lang/Object::getClass → NO_COVERAGE

4.4
Location : equals
Killed by : none
removed call to java/lang/Object::getClass → NO_COVERAGE

5.5
Location : equals
Killed by : none
removed conditional - replaced equality check with false → NO_COVERAGE

113

1.1
Location : equals
Killed by : none
Substituted 0 with 1 → NO_COVERAGE

2.2
Location : equals
Killed by : none
replaced boolean return with true for net/bmahe/genetics4j/core/util/MultiIntCounter::equals → NO_COVERAGE

115

1.1
Location : equals
Killed by : none
removed conditional - replaced equality check with false → NO_COVERAGE

2.2
Location : equals
Killed by : none
negated conditional → NO_COVERAGE

3.3
Location : equals
Killed by : none
removed call to java/util/Arrays::equals → NO_COVERAGE

4.4
Location : equals
Killed by : none
removed conditional - replaced equality check with true → NO_COVERAGE

116

1.1
Location : equals
Killed by : none
Substituted 0 with 1 → NO_COVERAGE

2.2
Location : equals
Killed by : none
replaced boolean return with true for net/bmahe/genetics4j/core/util/MultiIntCounter::equals → NO_COVERAGE

117

1.1
Location : equals
Killed by : none
removed call to java/util/Arrays::equals → NO_COVERAGE

2.2
Location : equals
Killed by : none
removed conditional - replaced equality check with false → NO_COVERAGE

3.3
Location : equals
Killed by : none
removed conditional - replaced equality check with true → NO_COVERAGE

4.4
Location : equals
Killed by : none
negated conditional → NO_COVERAGE

118

1.1
Location : equals
Killed by : none
Substituted 0 with 1 → NO_COVERAGE

2.2
Location : equals
Killed by : none
replaced boolean return with true for net/bmahe/genetics4j/core/util/MultiIntCounter::equals → NO_COVERAGE

119

1.1
Location : equals
Killed by : none
replaced boolean return with false for net/bmahe/genetics4j/core/util/MultiIntCounter::equals → NO_COVERAGE

2.2
Location : equals
Killed by : none
Substituted 1 with 0 → NO_COVERAGE

124

1.1
Location : toString
Killed by : none
replaced return value with "" for net/bmahe/genetics4j/core/util/MultiIntCounter::toString → SURVIVED
Covering tests

2.2
Location : toString
Killed by : none
removed call to java/util/Arrays::toString → SURVIVED Covering tests

3.3
Location : toString
Killed by : none
removed call to java/util/Arrays::toString → SURVIVED Covering tests

Active mutators

Tests examined


Report generated by PIT 1.19.6