FitnessVector.java

1
package net.bmahe.genetics4j.moo;
2
3
import java.util.Collection;
4
import java.util.Comparator;
5
import java.util.List;
6
import java.util.stream.Collectors;
7
import java.util.stream.IntStream;
8
9
import org.apache.commons.lang3.Validate;
10
11
/**
12
 * Represents a multi-objective fitness vector for multi-objective optimization (MOO).
13
 * 
14
 * <p>A FitnessVector encapsulates multiple fitness values, each representing the quality
15
 * of a solution in a different objective dimension. This is essential for multi-objective
16
 * evolutionary algorithms like NSGA-II and SPEA-II where solutions are evaluated against
17
 * multiple, often conflicting objectives.
18
 * 
19
 * <p>The fitness vector provides:
20
 * <ul>
21
 * <li>Storage for multiple objective values</li>
22
 * <li>Custom comparators for each objective (minimization/maximization)</li>
23
 * <li>Pareto dominance comparison logic</li>
24
 * <li>Type-safe access to individual objective values</li>
25
 * </ul>
26
 * 
27
 * <p>Pareto dominance comparison rules:
28
 * <ul>
29
 * <li>Vector A dominates B if A is better in all objectives</li>
30
 * <li>Vector A weakly dominates B if A is better or equal in all objectives and better in at least one</li>
31
 * <li>Vectors are non-dominated if neither dominates the other</li>
32
 * </ul>
33
 * 
34
 * @param <T> the type of the fitness values, must be comparable
35
 * @see net.bmahe.genetics4j.moo.nsga2
36
 * @see net.bmahe.genetics4j.moo.spea2
37
 * @see ParetoUtils
38
 */
39
public class FitnessVector<T extends Comparable<T>> implements Comparable<FitnessVector<T>> {
40
41
	private final List<T> fitnesses;
42
	private final List<Comparator<T>> comparators;
43
44
	/**
45
	 * Creates a fitness vector with the specified values and comparators.
46
	 * 
47
	 * @param _vector the fitness values for each objective
48
	 * @param _comparators the comparators defining optimization direction for each objective
49
	 * @throws IllegalArgumentException if vectors are null, empty, or have different sizes
50
	 */
51
	public FitnessVector(final Collection<T> _vector, final Collection<Comparator<T>> _comparators) {
52
		Validate.notNull(_vector);
53
		Validate.isTrue(_vector.size() > 0);
54
		Validate.notNull(_comparators);
55
		Validate.isTrue(_vector.size() == _comparators.size());
56
57 2 1. <init> : Removed assignment to member variable fitnesses → KILLED
2. <init> : removed call to java/util/List::copyOf → KILLED
		fitnesses = List.copyOf(_vector);
58 2 1. <init> : Removed assignment to member variable comparators → KILLED
2. <init> : removed call to java/util/List::copyOf → KILLED
		comparators = List.copyOf(_comparators);
59
	}
60
61
	/**
62
	 * Creates a fitness vector with natural ordering for all objectives.
63
	 * 
64
	 * <p>All objectives will use natural ordering (ascending), which means
65
	 * smaller values are considered better (minimization).
66
	 * 
67
	 * @param _vector the fitness values for each objective
68
	 * @throws IllegalArgumentException if vector is null or empty
69
	 */
70
	public FitnessVector(final Collection<T> _vector) {
71 1 1. <init> : Substituted 0 with 1 → KILLED
		this(_vector,
72 2 1. <init> : removed call to java/util/Collection::size → KILLED
2. <init> : removed call to java/util/stream/IntStream::range → KILLED
				IntStream.range(0, _vector.size())
73 1 1. <init> : removed call to java/util/stream/IntStream::boxed → KILLED
						.boxed()
74 4 1. lambda$new$0 : replaced return value with null for net/bmahe/genetics4j/moo/FitnessVector::lambda$new$0 → KILLED
2. <init> : replaced call to java/util/stream/Stream::map with receiver → KILLED
3. lambda$new$0 : removed call to java/util/Comparator::naturalOrder → KILLED
4. <init> : removed call to java/util/stream/Stream::map → KILLED
						.map((i) -> Comparator.<T>naturalOrder())
75 2 1. <init> : removed call to java/util/stream/Collectors::toList → KILLED
2. <init> : removed call to java/util/stream/Stream::collect → KILLED
						.collect(Collectors.toList()));
76
	}
77
78
	/**
79
	 * Creates a fitness vector from variable arguments with natural ordering.
80
	 * 
81
	 * @param _vector the fitness values for each objective
82
	 * @throws IllegalArgumentException if vector is empty
83
	 */
84
	public FitnessVector(T... _vector) {
85 1 1. <init> : removed call to java/util/List::of → KILLED
		this(List.of(_vector));
86
	}
87
88
	/**
89
	 * Returns the number of objectives in this fitness vector.
90
	 * 
91
	 * @return the number of objectives
92
	 */
93
	public int dimensions() {
94 2 1. dimensions : removed call to java/util/List::size → KILLED
2. dimensions : replaced int return with 0 for net/bmahe/genetics4j/moo/FitnessVector::dimensions → KILLED
		return fitnesses.size();
95
	}
96
97
	/**
98
	 * Returns the fitness value for the specified objective.
99
	 * 
100
	 * @param index the index of the objective (0-based)
101
	 * @return the fitness value for the specified objective
102
	 * @throws IllegalArgumentException if index is out of bounds
103
	 */
104
	public T get(final int index) {
105
		Validate.exclusiveBetween(-1, fitnesses.size(), index);
106
107 2 1. get : replaced return value with null for net/bmahe/genetics4j/moo/FitnessVector::get → KILLED
2. get : removed call to java/util/List::get → KILLED
		return fitnesses.get(index);
108
	}
109
110
	/**
111
	 * Returns the comparator for the specified objective.
112
	 * 
113
	 * @param index the index of the objective (0-based)
114
	 * @return the comparator defining optimization direction for the objective
115
	 * @throws IllegalArgumentException if index is out of bounds
116
	 */
117
	public Comparator<T> getComparator(final int index) {
118
		Validate.exclusiveBetween(-1, fitnesses.size(), index);
119
120 2 1. getComparator : removed call to java/util/List::get → KILLED
2. getComparator : replaced return value with null for net/bmahe/genetics4j/moo/FitnessVector::getComparator → KILLED
		return comparators.get(index);
121
	}
122
123
	@Override
124
	public int hashCode() {
125 1 1. hashCode : Substituted 31 with 32 → NO_COVERAGE
		final int prime = 31;
126 1 1. hashCode : Substituted 1 with 0 → NO_COVERAGE
		int result = 1;
127 8 1. hashCode : Replaced integer addition with subtraction → NO_COVERAGE
2. hashCode : Substituted 31 with 32 → NO_COVERAGE
3. hashCode : negated conditional → NO_COVERAGE
4. hashCode : Substituted 0 with 1 → NO_COVERAGE
5. hashCode : removed call to java/util/List::hashCode → NO_COVERAGE
6. hashCode : Replaced integer multiplication with division → NO_COVERAGE
7. hashCode : removed conditional - replaced equality check with false → NO_COVERAGE
8. hashCode : removed conditional - replaced equality check with true → NO_COVERAGE
		result = prime * result + ((comparators == null) ? 0 : comparators.hashCode());
128 8 1. hashCode : Substituted 0 with 1 → NO_COVERAGE
2. hashCode : Replaced integer multiplication with division → NO_COVERAGE
3. hashCode : removed conditional - replaced equality check with true → NO_COVERAGE
4. hashCode : removed conditional - replaced equality check with false → NO_COVERAGE
5. hashCode : Replaced integer addition with subtraction → NO_COVERAGE
6. hashCode : Substituted 31 with 32 → NO_COVERAGE
7. hashCode : removed call to java/util/List::hashCode → NO_COVERAGE
8. hashCode : negated conditional → NO_COVERAGE
		result = prime * result + ((fitnesses == null) ? 0 : fitnesses.hashCode());
129 1 1. hashCode : replaced int return with 0 for net/bmahe/genetics4j/moo/FitnessVector::hashCode → NO_COVERAGE
		return result;
130
	}
131
132
	@Override
133
	public boolean equals(Object obj) {
134 2 1. equals : removed conditional - replaced equality check with true → KILLED
2. equals : negated conditional → KILLED
		if (this == obj)
135 2 1. equals : replaced boolean return with false for net/bmahe/genetics4j/moo/FitnessVector::equals → NO_COVERAGE
2. equals : Substituted 1 with 0 → NO_COVERAGE
			return true;
136 3 1. equals : removed conditional - replaced equality check with false → KILLED
2. equals : removed conditional - replaced equality check with true → KILLED
3. equals : negated conditional → KILLED
		if (obj == null)
137 2 1. equals : Substituted 0 with 1 → KILLED
2. equals : replaced boolean return with true for net/bmahe/genetics4j/moo/FitnessVector::equals → KILLED
			return false;
138 5 1. equals : removed conditional - replaced equality check with false → SURVIVED
2. equals : removed call to java/lang/Object::getClass → KILLED
3. equals : negated conditional → KILLED
4. equals : removed conditional - replaced equality check with true → KILLED
5. equals : removed call to java/lang/Object::getClass → KILLED
		if (getClass() != obj.getClass())
139 2 1. equals : replaced boolean return with true for net/bmahe/genetics4j/moo/FitnessVector::equals → NO_COVERAGE
2. equals : Substituted 0 with 1 → NO_COVERAGE
			return false;
140
		FitnessVector other = (FitnessVector) obj;
141 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 (comparators == null) {
142 3 1. equals : removed conditional - replaced equality check with true → NO_COVERAGE
2. equals : negated conditional → NO_COVERAGE
3. equals : removed conditional - replaced equality check with false → NO_COVERAGE
			if (other.comparators != null)
143 2 1. equals : Substituted 0 with 1 → NO_COVERAGE
2. equals : replaced boolean return with true for net/bmahe/genetics4j/moo/FitnessVector::equals → NO_COVERAGE
				return false;
144 4 1. equals : removed conditional - replaced equality check with false → SURVIVED
2. equals : removed call to java/util/List::equals → KILLED
3. equals : negated conditional → KILLED
4. equals : removed conditional - replaced equality check with true → KILLED
		} else if (!comparators.equals(other.comparators))
145 2 1. equals : replaced boolean return with true for net/bmahe/genetics4j/moo/FitnessVector::equals → KILLED
2. equals : Substituted 0 with 1 → KILLED
			return false;
146 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 (fitnesses == null) {
147 3 1. equals : negated conditional → NO_COVERAGE
2. equals : removed conditional - replaced equality check with false → NO_COVERAGE
3. equals : removed conditional - replaced equality check with true → NO_COVERAGE
			if (other.fitnesses != null)
148 2 1. equals : Substituted 0 with 1 → NO_COVERAGE
2. equals : replaced boolean return with true for net/bmahe/genetics4j/moo/FitnessVector::equals → NO_COVERAGE
				return false;
149 4 1. equals : removed conditional - replaced equality check with true → KILLED
2. equals : negated conditional → KILLED
3. equals : removed call to java/util/List::equals → KILLED
4. equals : removed conditional - replaced equality check with false → KILLED
		} else if (!fitnesses.equals(other.fitnesses))
150 2 1. equals : replaced boolean return with true for net/bmahe/genetics4j/moo/FitnessVector::equals → KILLED
2. equals : Substituted 0 with 1 → KILLED
			return false;
151 2 1. equals : Substituted 1 with 0 → KILLED
2. equals : replaced boolean return with false for net/bmahe/genetics4j/moo/FitnessVector::equals → KILLED
		return true;
152
	}
153
154
	@Override
155
	public String toString() {
156 2 1. toString : replaced return value with "" for net/bmahe/genetics4j/moo/FitnessVector::toString → SURVIVED
2. toString : removed call to java/lang/String::valueOf → SURVIVED
		return "FitnessVector [fitnesses=" + fitnesses + "]";
157
	}
158
159
	@Override
160
	public int compareTo(final FitnessVector<T> o) {
161 2 1. compareTo : removed call to net/bmahe/genetics4j/moo/FitnessVector::compare → KILLED
2. compareTo : replaced int return with 0 for net/bmahe/genetics4j/moo/FitnessVector::compareTo → KILLED
		return compare(this, o);
162
	}
163
164
	/**
165
	 * Compares two fitness vectors using Pareto dominance.
166
	 * 
167
	 * <p>This method implements Pareto dominance comparison:
168
	 * <ul>
169
	 * <li>Returns positive value if fv1 dominates fv2 (fv1 is better in all objectives)</li>
170
	 * <li>Returns negative value if fv2 dominates fv1 (fv2 is better in all objectives)</li>
171
	 * <li>Returns 0 if vectors are non-dominated (neither dominates the other)</li>
172
	 * </ul>
173
	 * 
174
	 * @param <U> the type of the fitness values
175
	 * @param fv1 the first fitness vector to compare
176
	 * @param fv2 the second fitness vector to compare
177
	 * @return positive if fv1 dominates fv2, negative if fv2 dominates fv1, 0 if non-dominated
178
	 * @throws IllegalArgumentException if vectors are null or have different dimensions
179
	 */
180
	public static <U extends Comparable<U>> int compare(final FitnessVector<U> fv1, final FitnessVector<U> fv2) {
181
		Validate.notNull(fv1);
182
		Validate.notNull(fv2);
183
184 5 1. compare : removed conditional - replaced equality check with false → KILLED
2. compare : negated conditional → KILLED
3. compare : removed call to net/bmahe/genetics4j/moo/FitnessVector::dimensions → KILLED
4. compare : removed conditional - replaced equality check with true → KILLED
5. compare : removed call to net/bmahe/genetics4j/moo/FitnessVector::dimensions → KILLED
		if (fv1.dimensions() != fv2.dimensions()) {
185 1 1. compare : removed call to java/lang/IllegalArgumentException::<init> → KILLED
			throw new IllegalArgumentException("Can't compare FitnessVector with different dimensions");
186
		}
187
188 1 1. compare : Substituted 0 with 1 → KILLED
		int greater = 0;
189 1 1. compare : Substituted 0 with 1 → KILLED
		int lesser = 0;
190
191 6 1. compare : removed call to net/bmahe/genetics4j/moo/FitnessVector::dimensions → KILLED
2. compare : removed conditional - replaced comparison check with false → KILLED
3. compare : negated conditional → KILLED
4. compare : changed conditional boundary → KILLED
5. compare : Substituted 0 with 1 → KILLED
6. compare : removed conditional - replaced comparison check with true → KILLED
		for (int i = 0; i < fv1.dimensions(); i++) {
192 1 1. compare : removed call to net/bmahe/genetics4j/moo/FitnessVector::get → KILLED
			final U d1 = fv1.get(i);
193 1 1. compare : removed call to net/bmahe/genetics4j/moo/FitnessVector::get → KILLED
			final U d2 = fv2.get(i);
194
195 2 1. compare : removed call to java/util/List::get → KILLED
2. compare : removed call to java/util/Comparator::compare → KILLED
			final int compared = fv1.comparators.get(i).compare(d1, d2);
196
197 4 1. compare : changed conditional boundary → KILLED
2. compare : removed conditional - replaced comparison check with false → KILLED
3. compare : negated conditional → KILLED
4. compare : removed conditional - replaced comparison check with true → KILLED
			if (compared < 0) {
198 2 1. compare : Removed increment 1 → KILLED
2. compare : Changed increment from 1 to -1 → KILLED
				lesser++;
199 4 1. compare : negated conditional → KILLED
2. compare : changed conditional boundary → KILLED
3. compare : removed conditional - replaced comparison check with false → KILLED
4. compare : removed conditional - replaced comparison check with true → KILLED
			} else if (compared > 0) {
200 2 1. compare : Removed increment 1 → KILLED
2. compare : Changed increment from 1 to -1 → KILLED
				greater++;
201
			}
202
		}
203
204 7 1. compare : removed conditional - replaced comparison check with false → KILLED
2. compare : changed conditional boundary → KILLED
3. compare : removed conditional - replaced equality check with true → KILLED
4. compare : negated conditional → KILLED
5. compare : removed conditional - replaced equality check with false → KILLED
6. compare : removed conditional - replaced comparison check with true → KILLED
7. compare : negated conditional → KILLED
		if (lesser == 0 && greater > 0) {
205 2 1. compare : replaced int return with 0 for net/bmahe/genetics4j/moo/FitnessVector::compare → KILLED
2. compare : Substituted 1 with 0 → KILLED
			return 1;
206
		}
207 7 1. compare : removed conditional - replaced equality check with true → KILLED
2. compare : negated conditional → KILLED
3. compare : changed conditional boundary → KILLED
4. compare : removed conditional - replaced equality check with false → KILLED
5. compare : negated conditional → KILLED
6. compare : removed conditional - replaced comparison check with true → KILLED
7. compare : removed conditional - replaced comparison check with false → KILLED
		if (greater == 0 && lesser > 0) {
208 2 1. compare : Substituted -1 with 0 → KILLED
2. compare : replaced int return with 0 for net/bmahe/genetics4j/moo/FitnessVector::compare → KILLED
			return -1;
209
		}
210 1 1. compare : Substituted 0 with 1 → KILLED
		return 0;
211
	}
212
}

Mutations

57

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:negativeComparatorGetIndex()]
Removed assignment to member variable fitnesses → KILLED

2.2
Location : <init>
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:negativeComparatorGetIndex()]
removed call to java/util/List::copyOf → KILLED

58

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:comparatorGetIndex()]
Removed assignment to member variable comparators → KILLED

2.2
Location : <init>
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:comparatorGetIndex()]
removed call to java/util/List::copyOf → KILLED

71

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:negativeGetIndex()]
Substituted 0 with 1 → KILLED

72

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:negativeGetIndex()]
removed call to java/util/Collection::size → KILLED

2.2
Location : <init>
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:ctorEmptyArg()]
removed call to java/util/stream/IntStream::range → KILLED

73

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:ctorEmptyArg()]
removed call to java/util/stream/IntStream::boxed → KILLED

74

1.1
Location : lambda$new$0
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:negativeGetIndex()]
replaced return value with null for net/bmahe/genetics4j/moo/FitnessVector::lambda$new$0 → KILLED

2.2
Location : <init>
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
replaced call to java/util/stream/Stream::map with receiver → KILLED

3.3
Location : lambda$new$0
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:negativeGetIndex()]
removed call to java/util/Comparator::naturalOrder → KILLED

4.4
Location : <init>
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:ctorEmptyArg()]
removed call to java/util/stream/Stream::map → KILLED

75

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:ctorEmptyArg()]
removed call to java/util/stream/Collectors::toList → KILLED

2.2
Location : <init>
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:negativeGetIndex()]
removed call to java/util/stream/Stream::collect → KILLED

85

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:negativeGetIndex()]
removed call to java/util/List::of → KILLED

94

1.1
Location : dimensions
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceCheckDifferentDimensions()]
removed call to java/util/List::size → KILLED

2.2
Location : dimensions
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceCheckDifferentDimensions()]
replaced int return with 0 for net/bmahe/genetics4j/moo/FitnessVector::dimensions → KILLED

107

1.1
Location : get
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
replaced return value with null for net/bmahe/genetics4j/moo/FitnessVector::get → KILLED

2.2
Location : get
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed call to java/util/List::get → KILLED

120

1.1
Location : getComparator
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:comparatorGetIndex()]
removed call to java/util/List::get → KILLED

2.2
Location : getComparator
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:comparatorGetIndex()]
replaced return value with null for net/bmahe/genetics4j/moo/FitnessVector::getComparator → KILLED

125

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

126

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

127

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
negated conditional → NO_COVERAGE

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

5.5
Location : hashCode
Killed by : none
removed call to java/util/List::hashCode → NO_COVERAGE

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

7.7
Location : hashCode
Killed by : none
removed conditional - replaced equality check with false → NO_COVERAGE

8.8
Location : hashCode
Killed by : none
removed conditional - replaced equality check with true → NO_COVERAGE

128

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

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

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

4.4
Location : hashCode
Killed by : none
removed conditional - replaced equality check with false → NO_COVERAGE

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

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

7.7
Location : hashCode
Killed by : none
removed call to java/util/List::hashCode → NO_COVERAGE

8.8
Location : hashCode
Killed by : none
negated conditional → NO_COVERAGE

129

1.1
Location : hashCode
Killed by : none
replaced int return with 0 for net/bmahe/genetics4j/moo/FitnessVector::hashCode → NO_COVERAGE

134

1.1
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced equality check with true → KILLED

2.2
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
negated conditional → KILLED

135

1.1
Location : equals
Killed by : none
replaced boolean return with false for net/bmahe/genetics4j/moo/FitnessVector::equals → NO_COVERAGE

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

136

1.1
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced equality check with false → KILLED

2.2
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced equality check with true → KILLED

3.3
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
negated conditional → KILLED

137

1.1
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
Substituted 0 with 1 → KILLED

2.2
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
replaced boolean return with true for net/bmahe/genetics4j/moo/FitnessVector::equals → KILLED

138

1.1
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed call to java/lang/Object::getClass → KILLED

2.2
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
negated conditional → KILLED

3.3
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced equality check with true → KILLED

4.4
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed call to java/lang/Object::getClass → KILLED

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

139

1.1
Location : equals
Killed by : none
replaced boolean return with true for net/bmahe/genetics4j/moo/FitnessVector::equals → NO_COVERAGE

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

141

1.1
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
negated conditional → KILLED

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

3.3
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced equality check with true → KILLED

142

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

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

143

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/moo/FitnessVector::equals → NO_COVERAGE

144

1.1
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed call to java/util/List::equals → KILLED

2.2
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
negated conditional → KILLED

3.3
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced equality check with true → KILLED

4.4
Location : equals
Killed by : none
removed conditional - replaced equality check with false → SURVIVED
Covering tests

145

1.1
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
replaced boolean return with true for net/bmahe/genetics4j/moo/FitnessVector::equals → KILLED

2.2
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
Substituted 0 with 1 → KILLED

146

1.1
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
negated conditional → KILLED

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

3.3
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced equality check with true → KILLED

147

1.1
Location : equals
Killed by : none
negated conditional → 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

148

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/moo/FitnessVector::equals → NO_COVERAGE

149

1.1
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced equality check with true → KILLED

2.2
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
negated conditional → KILLED

3.3
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed call to java/util/List::equals → KILLED

4.4
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced equality check with false → KILLED

150

1.1
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
replaced boolean return with true for net/bmahe/genetics4j/moo/FitnessVector::equals → KILLED

2.2
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
Substituted 0 with 1 → KILLED

151

1.1
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
Substituted 1 with 0 → KILLED

2.2
Location : equals
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
replaced boolean return with false for net/bmahe/genetics4j/moo/FitnessVector::equals → KILLED

156

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

2.2
Location : toString
Killed by : none
removed call to java/lang/String::valueOf → SURVIVED Covering tests

161

1.1
Location : compareTo
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceCheckDifferentDimensions()]
removed call to net/bmahe/genetics4j/moo/FitnessVector::compare → KILLED

2.2
Location : compareTo
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
replaced int return with 0 for net/bmahe/genetics4j/moo/FitnessVector::compareTo → KILLED

184

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceCheckDifferentDimensions()]
removed conditional - replaced equality check with false → KILLED

2.2
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceCheckDifferentDimensions()]
negated conditional → KILLED

3.3
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed call to net/bmahe/genetics4j/moo/FitnessVector::dimensions → KILLED

4.4
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced equality check with true → KILLED

5.5
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed call to net/bmahe/genetics4j/moo/FitnessVector::dimensions → KILLED

185

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceCheckDifferentDimensions()]
removed call to java/lang/IllegalArgumentException::<init> → KILLED

188

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
Substituted 0 with 1 → KILLED

189

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
Substituted 0 with 1 → KILLED

191

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
removed call to net/bmahe/genetics4j/moo/FitnessVector::dimensions → KILLED

2.2
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
removed conditional - replaced comparison check with false → KILLED

3.3
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
negated conditional → KILLED

4.4
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
changed conditional boundary → KILLED

5.5
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
Substituted 0 with 1 → KILLED

6.6
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced comparison check with true → KILLED

192

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed call to net/bmahe/genetics4j/moo/FitnessVector::get → KILLED

193

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed call to net/bmahe/genetics4j/moo/FitnessVector::get → KILLED

195

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed call to java/util/List::get → KILLED

2.2
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
removed call to java/util/Comparator::compare → KILLED

197

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
changed conditional boundary → KILLED

2.2
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
removed conditional - replaced comparison check with false → KILLED

3.3
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
negated conditional → KILLED

4.4
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced comparison check with true → KILLED

198

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
Removed increment 1 → KILLED

2.2
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
Changed increment from 1 to -1 → KILLED

199

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
negated conditional → KILLED

2.2
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
changed conditional boundary → KILLED

3.3
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
removed conditional - replaced comparison check with false → KILLED

4.4
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced comparison check with true → KILLED

200

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
Removed increment 1 → KILLED

2.2
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
Changed increment from 1 to -1 → KILLED

204

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
removed conditional - replaced comparison check with false → KILLED

2.2
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
changed conditional boundary → KILLED

3.3
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
removed conditional - replaced equality check with true → KILLED

4.4
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
negated conditional → KILLED

5.5
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
removed conditional - replaced equality check with false → KILLED

6.6
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced comparison check with true → KILLED

7.7
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
negated conditional → KILLED

205

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
replaced int return with 0 for net/bmahe/genetics4j/moo/FitnessVector::compare → KILLED

2.2
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
Substituted 1 with 0 → KILLED

207

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
removed conditional - replaced equality check with true → KILLED

2.2
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
negated conditional → KILLED

3.3
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
changed conditional boundary → KILLED

4.4
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
removed conditional - replaced equality check with false → KILLED

5.5
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
negated conditional → KILLED

6.6
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
removed conditional - replaced comparison check with true → KILLED

7.7
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
removed conditional - replaced comparison check with false → KILLED

208

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
Substituted -1 with 0 → KILLED

2.2
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:dominanceChecks()]
replaced int return with 0 for net/bmahe/genetics4j/moo/FitnessVector::compare → KILLED

210

1.1
Location : compare
Killed by : net.bmahe.genetics4j.moo.FitnessVectorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.moo.FitnessVectorTest]/[method:simpleChecks()]
Substituted 0 with 1 → KILLED

Active mutators

Tests examined


Report generated by PIT 1.19.6