1
|
|
package net.bmahe.genetics4j.core.chromosomes; |
2
|
|
|
3
|
|
import java.util.Arrays; |
4
|
|
import java.util.Objects; |
5
|
|
|
6
|
|
import org.apache.commons.lang3.Validate; |
7
|
|
|
8
|
|
/** |
9
|
|
* A chromosome implementation that represents genetic information as an array of integer values. |
10
|
|
* |
11
|
|
* <p>IntChromosome is widely used for discrete optimization problems where solutions can be encoded as sequences of |
12
|
|
* integer values within specified ranges. Each position in the array represents a gene, and the integer value at that |
13
|
|
* position represents the allele. |
14
|
|
* |
15
|
|
* <p>This chromosome type is particularly suitable for: |
16
|
|
* <ul> |
17
|
|
* <li><strong>Combinatorial optimization</strong>: Problems with discrete decision variables</li> |
18
|
|
* <li><strong>Parameter optimization</strong>: Integer hyperparameters, configuration settings</li> |
19
|
|
* <li><strong>Permutation encoding</strong>: When combined with appropriate operators</li> |
20
|
|
* <li><strong>Resource allocation</strong>: Assignment and scheduling problems</li> |
21
|
|
* <li><strong>Graph problems</strong>: Node labeling, path encoding</li> |
22
|
|
* </ul> |
23
|
|
* |
24
|
|
* <p>Key features: |
25
|
|
* <ul> |
26
|
|
* <li><strong>Bounded values</strong>: All integers are constrained to [minValue, maxValue]</li> |
27
|
|
* <li><strong>Fixed length</strong>: Chromosome size is determined at creation time</li> |
28
|
|
* <li><strong>Immutable</strong>: Values cannot be changed after construction</li> |
29
|
|
* <li><strong>Type-safe</strong>: Compile-time guarantees for integer operations</li> |
30
|
|
* </ul> |
31
|
|
* |
32
|
|
* <p>The chromosome maintains bounds information which is used by genetic operators to ensure that crossover and |
33
|
|
* mutation operations produce valid offspring within the specified constraints. |
34
|
|
* |
35
|
|
* @see Chromosome |
36
|
|
* @see net.bmahe.genetics4j.core.spec.chromosome.IntChromosomeSpec |
37
|
|
* @see net.bmahe.genetics4j.core.chromosomes.factory.IntChromosomeFactory |
38
|
|
*/ |
39
|
|
public class IntChromosome implements Chromosome { |
40
|
|
|
41
|
|
private final int size; |
42
|
|
private final int minValue; |
43
|
|
private final int maxValue; |
44
|
|
private final int[] values; |
45
|
|
|
46
|
|
/** |
47
|
|
* Creates a new integer chromosome with the specified parameters and values. |
48
|
|
* |
49
|
|
* @param _size the number of integer values in this chromosome |
50
|
|
* @param _minValue the minimum allowed value for any integer in this chromosome |
51
|
|
* @param _maxValue the maximum allowed value for any integer in this chromosome |
52
|
|
* @param _values the array of integer values for this chromosome |
53
|
|
* @throws IllegalArgumentException if size is not positive, if minValue > maxValue, if values array is null, or if |
54
|
|
* the array length doesn't match the specified size |
55
|
|
*/ |
56
|
|
public IntChromosome(final int _size, final int _minValue, final int _maxValue, final int[] _values) { |
57
|
|
Validate.isTrue(_size > 0); |
58
|
|
Validate.isTrue(_minValue <= _maxValue); |
59
|
|
Objects.requireNonNull(_values); |
60
|
|
Validate.isTrue(_size == _values.length, "Provided size does not match the size of the content"); |
61
|
|
|
62
|
1
1. <init> : Removed assignment to member variable size → KILLED
|
this.size = _size; |
63
|
1
1. <init> : Removed assignment to member variable minValue → KILLED
|
this.minValue = _minValue; |
64
|
1
1. <init> : Removed assignment to member variable maxValue → KILLED
|
this.maxValue = _maxValue; |
65
|
3
1. <init> : Removed assignment to member variable values → KILLED
2. <init> : replaced call to java/util/Arrays::copyOf with argument → KILLED
3. <init> : removed call to java/util/Arrays::copyOf → KILLED
|
this.values = Arrays.copyOf(_values, _size); |
66
|
|
} |
67
|
|
|
68
|
|
@Override |
69
|
|
public int getNumAlleles() { |
70
|
1
1. getNumAlleles : replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::getNumAlleles → KILLED
|
return size; |
71
|
|
} |
72
|
|
|
73
|
|
/** |
74
|
|
* Returns the integer value at the specified index. |
75
|
|
* |
76
|
|
* @param index the index of the allele to retrieve (0-based) |
77
|
|
* @return the integer value at the specified position |
78
|
|
* @throws IllegalArgumentException if index is negative or greater than or equal to the chromosome size |
79
|
|
*/ |
80
|
|
public int getAllele(final int index) { |
81
|
|
Validate.inclusiveBetween(0, size - 1, index); |
82
|
|
|
83
|
1
1. getAllele : replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::getAllele → KILLED
|
return values[index]; |
84
|
|
} |
85
|
|
|
86
|
|
/** |
87
|
|
* Returns the number of integer values in this chromosome. |
88
|
|
* |
89
|
|
* @return the chromosome size |
90
|
|
*/ |
91
|
|
public int getSize() { |
92
|
1
1. getSize : replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::getSize → KILLED
|
return size; |
93
|
|
} |
94
|
|
|
95
|
|
/** |
96
|
|
* Returns the minimum allowed value for integers in this chromosome. |
97
|
|
* |
98
|
|
* @return the minimum value constraint |
99
|
|
*/ |
100
|
|
public int getMinValue() { |
101
|
1
1. getMinValue : replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::getMinValue → KILLED
|
return minValue; |
102
|
|
} |
103
|
|
|
104
|
|
/** |
105
|
|
* Returns the maximum allowed value for integers in this chromosome. |
106
|
|
* |
107
|
|
* @return the maximum value constraint |
108
|
|
*/ |
109
|
|
public int getMaxValue() { |
110
|
1
1. getMaxValue : replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::getMaxValue → KILLED
|
return maxValue; |
111
|
|
} |
112
|
|
|
113
|
|
/** |
114
|
|
* Returns a copy of the integer values in this chromosome. |
115
|
|
* |
116
|
|
* <p>The returned array is a defensive copy; modifications to it will not affect this chromosome. |
117
|
|
* |
118
|
|
* @return a copy of the integer values array |
119
|
|
*/ |
120
|
|
public int[] getValues() { |
121
|
1
1. getValues : replaced return value with null for net/bmahe/genetics4j/core/chromosomes/IntChromosome::getValues → KILLED
|
return values; |
122
|
|
} |
123
|
|
|
124
|
|
/** |
125
|
|
* Calculates and returns the sum of all integer values in this chromosome. |
126
|
|
* |
127
|
|
* <p>This method performs arithmetic addition of all alleles in the chromosome. The result may overflow if the sum |
128
|
|
* exceeds the range of a 32-bit integer. |
129
|
|
* |
130
|
|
* @return the sum of all integer values in this chromosome |
131
|
|
*/ |
132
|
|
public int sum() { |
133
|
1
1. sum : Substituted 0 with 1 → KILLED
|
int sum = 0; |
134
|
5
1. sum : negated conditional → KILLED
2. sum : Substituted 0 with 1 → KILLED
3. sum : removed conditional - replaced comparison check with true → KILLED
4. sum : changed conditional boundary → KILLED
5. sum : removed conditional - replaced comparison check with false → KILLED
|
for (int i = 0; i < size; i++) { |
135
|
1
1. sum : Replaced integer addition with subtraction → KILLED
|
sum += values[i]; |
136
|
|
} |
137
|
|
|
138
|
1
1. sum : replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::sum → KILLED
|
return sum; |
139
|
|
} |
140
|
|
|
141
|
|
/** |
142
|
|
* Counts and returns the number of non-zero integer values in this chromosome. |
143
|
|
* |
144
|
|
* <p>This method iterates through all alleles and counts those that are not equal to zero. |
145
|
|
* |
146
|
|
* @return the count of non-zero integer values in this chromosome (0 to chromosome size) |
147
|
|
*/ |
148
|
|
public int countNonZeros() { |
149
|
1
1. countNonZeros : Substituted 0 with 1 → KILLED
|
int numNonZeros = 0; |
150
|
5
1. countNonZeros : removed conditional - replaced comparison check with false → KILLED
2. countNonZeros : removed conditional - replaced comparison check with true → KILLED
3. countNonZeros : changed conditional boundary → KILLED
4. countNonZeros : negated conditional → KILLED
5. countNonZeros : Substituted 0 with 1 → KILLED
|
for (int i = 0; i < size; i++) { |
151
|
3
1. countNonZeros : negated conditional → KILLED
2. countNonZeros : removed conditional - replaced equality check with true → KILLED
3. countNonZeros : removed conditional - replaced equality check with false → KILLED
|
if (values[i] != 0) { |
152
|
2
1. countNonZeros : Changed increment from 1 to -1 → KILLED
2. countNonZeros : Removed increment 1 → KILLED
|
numNonZeros++; |
153
|
|
} |
154
|
|
} |
155
|
1
1. countNonZeros : replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::countNonZeros → KILLED
|
return numNonZeros; |
156
|
|
} |
157
|
|
|
158
|
|
@Override |
159
|
|
public int hashCode() { |
160
|
1
1. hashCode : Substituted 31 with 32 → NO_COVERAGE
|
final int prime = 31; |
161
|
1
1. hashCode : Substituted 1 with 0 → NO_COVERAGE
|
int result = 1; |
162
|
3
1. hashCode : Replaced integer addition with subtraction → NO_COVERAGE
2. hashCode : Replaced integer multiplication with division → NO_COVERAGE
3. hashCode : Substituted 31 with 32 → NO_COVERAGE
|
result = prime * result + maxValue; |
163
|
3
1. hashCode : Substituted 31 with 32 → NO_COVERAGE
2. hashCode : Replaced integer addition with subtraction → NO_COVERAGE
3. hashCode : Replaced integer multiplication with division → NO_COVERAGE
|
result = prime * result + minValue; |
164
|
3
1. hashCode : Substituted 31 with 32 → NO_COVERAGE
2. hashCode : Replaced integer multiplication with division → NO_COVERAGE
3. hashCode : Replaced integer addition with subtraction → NO_COVERAGE
|
result = prime * result + size; |
165
|
4
1. hashCode : Replaced integer addition with subtraction → NO_COVERAGE
2. hashCode : Substituted 31 with 32 → NO_COVERAGE
3. hashCode : Replaced integer multiplication with division → NO_COVERAGE
4. hashCode : removed call to java/util/Arrays::hashCode → NO_COVERAGE
|
result = prime * result + Arrays.hashCode(values); |
166
|
1
1. hashCode : replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::hashCode → NO_COVERAGE
|
return result; |
167
|
|
} |
168
|
|
|
169
|
|
@Override |
170
|
|
public boolean equals(Object obj) { |
171
|
2
1. equals : removed conditional - replaced equality check with true → KILLED
2. equals : negated conditional → KILLED
|
if (this == obj) |
172
|
2
1. equals : Substituted 1 with 0 → KILLED
2. equals : replaced boolean return with false for net/bmahe/genetics4j/core/chromosomes/IntChromosome::equals → KILLED
|
return true; |
173
|
3
1. equals : removed conditional - replaced equality check with false → SURVIVED
2. equals : negated conditional → KILLED
3. equals : removed conditional - replaced equality check with true → KILLED
|
if (obj == null) |
174
|
2
1. equals : Substituted 0 with 1 → NO_COVERAGE
2. equals : replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/IntChromosome::equals → NO_COVERAGE
|
return false; |
175
|
5
1. equals : removed conditional - replaced equality check with false → SURVIVED
2. equals : removed call to java/lang/Object::getClass → KILLED
3. equals : removed call to java/lang/Object::getClass → KILLED
4. equals : removed conditional - replaced equality check with true → KILLED
5. equals : negated conditional → KILLED
|
if (getClass() != obj.getClass()) |
176
|
2
1. equals : Substituted 0 with 1 → NO_COVERAGE
2. equals : replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/IntChromosome::equals → NO_COVERAGE
|
return false; |
177
|
|
IntChromosome other = (IntChromosome) obj; |
178
|
3
1. equals : removed conditional - replaced equality check with false → SURVIVED
2. equals : negated conditional → KILLED
3. equals : removed conditional - replaced equality check with true → KILLED
|
if (maxValue != other.maxValue) |
179
|
2
1. equals : Substituted 0 with 1 → NO_COVERAGE
2. equals : replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/IntChromosome::equals → NO_COVERAGE
|
return false; |
180
|
3
1. equals : removed conditional - replaced equality check with false → SURVIVED
2. equals : removed conditional - replaced equality check with true → KILLED
3. equals : negated conditional → KILLED
|
if (minValue != other.minValue) |
181
|
2
1. equals : Substituted 0 with 1 → NO_COVERAGE
2. equals : replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/IntChromosome::equals → NO_COVERAGE
|
return false; |
182
|
3
1. equals : removed conditional - replaced equality check with false → SURVIVED
2. equals : removed conditional - replaced equality check with true → KILLED
3. equals : negated conditional → KILLED
|
if (size != other.size) |
183
|
2
1. equals : Substituted 0 with 1 → NO_COVERAGE
2. equals : replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/IntChromosome::equals → NO_COVERAGE
|
return false; |
184
|
4
1. equals : removed call to java/util/Arrays::equals → KILLED
2. equals : removed conditional - replaced equality check with false → KILLED
3. equals : removed conditional - replaced equality check with true → KILLED
4. equals : negated conditional → KILLED
|
if (!Arrays.equals(values, other.values)) |
185
|
2
1. equals : Substituted 0 with 1 → KILLED
2. equals : replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/IntChromosome::equals → KILLED
|
return false; |
186
|
2
1. equals : replaced boolean return with false for net/bmahe/genetics4j/core/chromosomes/IntChromosome::equals → KILLED
2. equals : Substituted 1 with 0 → KILLED
|
return true; |
187
|
|
} |
188
|
|
|
189
|
|
@Override |
190
|
|
public String toString() { |
191
|
1
1. toString : replaced return value with "" for net/bmahe/genetics4j/core/chromosomes/IntChromosome::toString → SURVIVED
|
return "IntChromosome [size=" + size + ", minValue=" + minValue + ", maxValue=" + maxValue + ", values=" |
192
|
1
1. toString : removed call to java/util/Arrays::toString → SURVIVED
|
+ Arrays.toString(values) + "]"; |
193
|
|
} |
194
|
|
} |
| | Mutations |
62 |
|
1.1 Location : <init> Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosWithNegativeValues()] Removed assignment to member variable size → KILLED
|
63 |
|
1.1 Location : <init> Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] Removed assignment to member variable minValue → KILLED
|
64 |
|
1.1 Location : <init> Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] Removed assignment to member variable maxValue → KILLED
|
65 |
|
1.1 Location : <init> Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosWithAllZeros()] Removed assignment to member variable values → KILLED
2.2 Location : <init> Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] replaced call to java/util/Arrays::copyOf with argument → KILLED
3.3 Location : <init> Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosWithAllZeros()] removed call to java/util/Arrays::copyOf → KILLED
|
70 |
|
1.1 Location : getNumAlleles Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::getNumAlleles → KILLED
|
83 |
|
1.1 Location : getAllele Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::getAllele → KILLED
|
92 |
|
1.1 Location : getSize Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::getSize → KILLED
|
101 |
|
1.1 Location : getMinValue Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::getMinValue → KILLED
|
110 |
|
1.1 Location : getMaxValue Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::getMaxValue → KILLED
|
121 |
|
1.1 Location : getValues Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] replaced return value with null for net/bmahe/genetics4j/core/chromosomes/IntChromosome::getValues → KILLED
|
133 |
|
1.1 Location : sum Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testSumSingleElement()] Substituted 0 with 1 → KILLED
|
134 |
|
1.1 Location : sum Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testSumSingleElement()] negated conditional → KILLED
2.2 Location : sum Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testSumSingleElement()] Substituted 0 with 1 → KILLED
3.3 Location : sum Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testSumSingleElement()] removed conditional - replaced comparison check with true → KILLED
4.4 Location : sum Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testSumSingleElement()] changed conditional boundary → KILLED
5.5 Location : sum Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testSumSingleElement()] removed conditional - replaced comparison check with false → KILLED
|
135 |
|
1.1 Location : sum Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testSumSingleElement()] Replaced integer addition with subtraction → KILLED
|
138 |
|
1.1 Location : sum Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testSumSingleElement()] replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::sum → KILLED
|
149 |
|
1.1 Location : countNonZeros Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosSingleElement()] Substituted 0 with 1 → KILLED
|
150 |
|
1.1 Location : countNonZeros Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosSingleElement()] removed conditional - replaced comparison check with false → KILLED
2.2 Location : countNonZeros Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosSingleElement()] removed conditional - replaced comparison check with true → KILLED
3.3 Location : countNonZeros Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosSingleElement()] changed conditional boundary → KILLED
4.4 Location : countNonZeros Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosSingleElement()] negated conditional → KILLED
5.5 Location : countNonZeros Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosSingleElement()] Substituted 0 with 1 → KILLED
|
151 |
|
1.1 Location : countNonZeros Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosSingleElement()] negated conditional → KILLED
2.2 Location : countNonZeros Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosSingleElement()] removed conditional - replaced equality check with true → KILLED
3.3 Location : countNonZeros Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosSingleElement()] removed conditional - replaced equality check with false → KILLED
|
152 |
|
1.1 Location : countNonZeros Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosSingleElement()] Changed increment from 1 to -1 → KILLED
2.2 Location : countNonZeros Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosSingleElement()] Removed increment 1 → KILLED
|
155 |
|
1.1 Location : countNonZeros Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:testCountNonZerosSingleElement()] replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::countNonZeros → KILLED
|
160 |
|
1.1 Location : hashCode Killed by : none Substituted 31 with 32 → NO_COVERAGE
|
161 |
|
1.1 Location : hashCode Killed by : none Substituted 1 with 0 → NO_COVERAGE
|
162 |
|
1.1 Location : hashCode Killed by : none Replaced integer addition with subtraction → NO_COVERAGE
2.2 Location : hashCode Killed by : none Replaced integer multiplication with division → NO_COVERAGE
3.3 Location : hashCode Killed by : none Substituted 31 with 32 → NO_COVERAGE
|
163 |
|
1.1 Location : hashCode Killed by : none Substituted 31 with 32 → NO_COVERAGE
2.2 Location : hashCode Killed by : none Replaced integer addition with subtraction → NO_COVERAGE
3.3 Location : hashCode Killed by : none Replaced integer multiplication with division → NO_COVERAGE
|
164 |
|
1.1 Location : hashCode Killed by : none Substituted 31 with 32 → NO_COVERAGE
2.2 Location : hashCode Killed by : none Replaced integer multiplication with division → NO_COVERAGE
3.3 Location : hashCode Killed by : none Replaced integer addition with subtraction → NO_COVERAGE
|
165 |
|
1.1 Location : hashCode Killed by : none Replaced integer addition with subtraction → NO_COVERAGE
2.2 Location : hashCode Killed by : none Substituted 31 with 32 → NO_COVERAGE
3.3 Location : hashCode Killed by : none Replaced integer multiplication with division → NO_COVERAGE
4.4 Location : hashCode Killed by : none removed call to java/util/Arrays::hashCode → NO_COVERAGE
|
166 |
|
1.1 Location : hashCode Killed by : none replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/IntChromosome::hashCode → NO_COVERAGE
|
171 |
|
1.1 Location : equals Killed by : net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest]/[method:select()] removed conditional - replaced equality check with true → KILLED
2.2 Location : equals Killed by : net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest]/[method:select()] negated conditional → KILLED
|
172 |
|
1.1 Location : equals Killed by : net.bmahe.genetics4j.core.GenotypeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.GenotypeTest]/[method:simple()] Substituted 1 with 0 → KILLED
2.2 Location : equals Killed by : net.bmahe.genetics4j.core.GenotypeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.GenotypeTest]/[method:simple()] replaced boolean return with false for net/bmahe/genetics4j/core/chromosomes/IntChromosome::equals → KILLED
|
173 |
|
1.1 Location : equals Killed by : none removed conditional - replaced equality check with false → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()]
- net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest]/[method:select()]
2.2 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] negated conditional → KILLED
3.3 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] removed conditional - replaced equality check with true → KILLED
|
174 |
|
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/chromosomes/IntChromosome::equals → NO_COVERAGE
|
175 |
|
1.1 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] removed call to java/lang/Object::getClass → KILLED
2.2 Location : equals Killed by : none removed conditional - replaced equality check with false → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()]
- net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest]/[method:select()]
3.3 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] removed call to java/lang/Object::getClass → KILLED
4.4 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] removed conditional - replaced equality check with true → KILLED
5.5 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] negated conditional → KILLED
|
176 |
|
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/chromosomes/IntChromosome::equals → NO_COVERAGE
|
178 |
|
1.1 Location : equals Killed by : none removed conditional - replaced equality check with false → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()]
- net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest]/[method:select()]
2.2 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] negated conditional → KILLED
3.3 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] removed conditional - replaced equality check with true → KILLED
|
179 |
|
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/chromosomes/IntChromosome::equals → NO_COVERAGE
|
180 |
|
1.1 Location : equals Killed by : none removed conditional - replaced equality check with false → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()]
- net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest]/[method:select()]
2.2 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] removed conditional - replaced equality check with true → KILLED
3.3 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] negated conditional → KILLED
|
181 |
|
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/chromosomes/IntChromosome::equals → NO_COVERAGE
|
182 |
|
1.1 Location : equals Killed by : none removed conditional - replaced equality check with false → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()]
- net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest]/[method:select()]
2.2 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] removed conditional - replaced equality check with true → KILLED
3.3 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] negated conditional → KILLED
|
183 |
|
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/chromosomes/IntChromosome::equals → NO_COVERAGE
|
184 |
|
1.1 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] removed call to java/util/Arrays::equals → KILLED
2.2 Location : equals Killed by : net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest]/[method:select()] removed conditional - replaced equality check with false → KILLED
3.3 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] removed conditional - replaced equality check with true → KILLED
4.4 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] negated conditional → KILLED
|
185 |
|
1.1 Location : equals Killed by : net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest]/[method:select()] Substituted 0 with 1 → KILLED
2.2 Location : equals Killed by : net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest]/[method:select()] replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/IntChromosome::equals → KILLED
|
186 |
|
1.1 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] replaced boolean return with false for net/bmahe/genetics4j/core/chromosomes/IntChromosome::equals → KILLED
2.2 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.IntChromosomeTest]/[method:simple()] Substituted 1 with 0 → KILLED
|
191 |
|
1.1 Location : toString Killed by : none replaced return value with "" for net/bmahe/genetics4j/core/chromosomes/IntChromosome::toString → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.combination.erx.IntEdgeRecombinationCrossoverTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.combination.erx.IntEdgeRecombinationCrossoverTest]/[method:simple()]
- net.bmahe.genetics4j.core.postevaluationprocess.FitnessSharingTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.postevaluationprocess.FitnessSharingTest]/[method:simple()]
- net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest]/[method:select()]
- net.bmahe.genetics4j.core.replacement.ElitismImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.ElitismImplTest]/[method:simple()]
- net.bmahe.genetics4j.core.replacement.ElitismImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.ElitismImplTest]/[method:atLeastSpecified()]
|
192 |
|
1.1 Location : toString Killed by : none removed call to java/util/Arrays::toString → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.combination.erx.IntEdgeRecombinationCrossoverTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.combination.erx.IntEdgeRecombinationCrossoverTest]/[method:simple()]
- net.bmahe.genetics4j.core.postevaluationprocess.FitnessSharingTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.postevaluationprocess.FitnessSharingTest]/[method:simple()]
- net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.DeleteNLastImplTest]/[method:select()]
- net.bmahe.genetics4j.core.replacement.ElitismImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.ElitismImplTest]/[method:simple()]
- net.bmahe.genetics4j.core.replacement.ElitismImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.replacement.ElitismImplTest]/[method:atLeastSpecified()]
|