NeatUtils.java

1
package net.bmahe.genetics4j.neat;
2
3
import java.util.ArrayDeque;
4
import java.util.ArrayList;
5
import java.util.Deque;
6
import java.util.HashMap;
7
import java.util.HashSet;
8
import java.util.List;
9
import java.util.Map;
10
import java.util.Map.Entry;
11
import java.util.Set;
12
import java.util.function.BiPredicate;
13
import java.util.random.RandomGenerator;
14
15
import org.apache.commons.collections4.CollectionUtils;
16
import org.apache.commons.lang3.Validate;
17
18
import net.bmahe.genetics4j.core.Genotype;
19
import net.bmahe.genetics4j.core.Individual;
20
import net.bmahe.genetics4j.core.Population;
21
import net.bmahe.genetics4j.neat.chromosomes.NeatChromosome;
22
23
/**
24
 * Utility class providing core algorithmic operations for the NEAT (NeuroEvolution of Augmenting Topologies) algorithm.
25
 * 
26
 * <p>NeatUtils contains essential algorithms and helper methods for implementing NEAT neural network evolution,
27
 * including network topology analysis, compatibility distance calculation, speciation, and structural operations.
28
 * These utilities support the NEAT algorithm's key features of topology innovation, structural mutation, and 
29
 * species-based population organization.
30
 * 
31
 * <p>Key functionality areas:
32
 * <ul>
33
 * <li><strong>Network topology analysis</strong>: Computing network layers, forward/backward connections, and dead node detection</li>
34
 * <li><strong>Compatibility distance</strong>: Measuring genetic similarity between neural networks for speciation</li>
35
 * <li><strong>Speciation management</strong>: Organizing populations into species based on genetic similarity</li>
36
 * <li><strong>Structural analysis</strong>: Analyzing network connectivity patterns and structural properties</li>
37
 * </ul>
38
 * 
39
 * <p>NEAT algorithm integration:
40
 * <ul>
41
 * <li><strong>Innovation tracking</strong>: Support for historical marking and innovation numbers</li>
42
 * <li><strong>Structural mutations</strong>: Utilities for add-node and add-connection operations</li>
43
 * <li><strong>Network evaluation</strong>: Layer-based network evaluation ordering</li>
44
 * <li><strong>Population diversity</strong>: Species-based diversity maintenance</li>
45
 * </ul>
46
 * 
47
 * <p>Core NEAT concepts implemented:
48
 * <ul>
49
 * <li><strong>Genetic similarity</strong>: Compatibility distance based on excess, disjoint, and weight differences</li>
50
 * <li><strong>Topological innovation</strong>: Structural changes tracked through innovation numbers</li>
51
 * <li><strong>Speciation</strong>: Dynamic species formation based on genetic distance thresholds</li>
52
 * <li><strong>Network evaluation</strong>: Feed-forward evaluation through computed network layers</li>
53
 * </ul>
54
 * 
55
 * <p>Algorithmic foundations:
56
 * <ul>
57
 * <li><strong>Graph algorithms</strong>: Topological sorting, connectivity analysis, and layer computation</li>
58
 * <li><strong>Genetic distance metrics</strong>: NEAT-specific compatibility distance calculation</li>
59
 * <li><strong>Population clustering</strong>: Species formation and maintenance algorithms</li>
60
 * <li><strong>Network optimization</strong>: Dead node removal and structural simplification</li>
61
 * </ul>
62
 * 
63
 * @see NeatChromosome
64
 * @see Connection
65
 * @see Species
66
 * @see InnovationManager
67
 */
68
public class NeatUtils {
69
70
	private NeatUtils() {
71
	}
72
73
	/**
74
	 * Working backward from the output nodes, we identify the nodes that did not
75
	 * get visited as dead nodes
76
	 * 
77
	 * @param connections
78
	 * @param forwardConnections
79
	 * @param backwardConnections
80
	 * @param outputNodeIndices
81
	 * @return
82
	 */
83
	public static Set<Integer> computeDeadNodes(final List<Connection> connections,
84
			final Map<Integer, Set<Integer>> forwardConnections, final Map<Integer, Set<Integer>> backwardConnections,
85
			final Set<Integer> outputNodeIndices) {
86
		Validate.notNull(connections);
87
88 1 1. computeDeadNodes : removed call to java/util/HashSet::<init> → KILLED
		final Set<Integer> deadNodes = new HashSet<>();
89
		for (final Connection connection : connections) {
90 3 1. computeDeadNodes : removed call to java/util/Set::add → SURVIVED
2. computeDeadNodes : removed call to net/bmahe/genetics4j/neat/Connection::fromNodeIndex → SURVIVED
3. computeDeadNodes : removed call to java/lang/Integer::valueOf → KILLED
			deadNodes.add(connection.fromNodeIndex());
91 3 1. computeDeadNodes : removed call to java/lang/Integer::valueOf → SURVIVED
2. computeDeadNodes : removed call to java/util/Set::add → KILLED
3. computeDeadNodes : removed call to net/bmahe/genetics4j/neat/Connection::toNodeIndex → KILLED
			deadNodes.add(connection.toNodeIndex());
92
		}
93 1 1. computeDeadNodes : removed call to java/util/Set::removeAll → SURVIVED
		deadNodes.removeAll(outputNodeIndices);
94
95 1 1. computeDeadNodes : removed call to java/util/HashSet::<init> → KILLED
		final Set<Integer> visited = new HashSet<>();
96 1 1. computeDeadNodes : removed call to java/util/ArrayDeque::<init> → KILLED
		final Deque<Integer> toVisit = new ArrayDeque<>(outputNodeIndices);
97 5 1. computeDeadNodes : removed conditional - replaced comparison check with true → TIMED_OUT
2. computeDeadNodes : changed conditional boundary → TIMED_OUT
3. computeDeadNodes : removed call to java/util/Deque::size → KILLED
4. computeDeadNodes : negated conditional → KILLED
5. computeDeadNodes : removed conditional - replaced comparison check with false → KILLED
		while (toVisit.size() > 0) {
98 1 1. computeDeadNodes : removed call to java/util/Deque::poll → TIMED_OUT
			final Integer currentNode = toVisit.poll();
99
100 1 1. computeDeadNodes : removed call to java/util/Set::remove → KILLED
			deadNodes.remove(currentNode);
101 4 1. computeDeadNodes : removed conditional - replaced equality check with true → SURVIVED
2. computeDeadNodes : removed call to java/util/Set::contains → SURVIVED
3. computeDeadNodes : removed conditional - replaced equality check with false → KILLED
4. computeDeadNodes : negated conditional → KILLED
			if (visited.contains(currentNode) == false) {
102
103 1 1. computeDeadNodes : removed call to java/util/Set::add → SURVIVED
				visited.add(currentNode);
104
105 3 1. computeDeadNodes : removed call to java/util/Set::of → KILLED
2. computeDeadNodes : removed call to java/util/Map::getOrDefault → KILLED
3. computeDeadNodes : replaced call to java/util/Map::getOrDefault with argument → KILLED
				final var next = backwardConnections.getOrDefault(currentNode, Set.of());
106 5 1. computeDeadNodes : removed conditional - replaced comparison check with true → SURVIVED
2. computeDeadNodes : changed conditional boundary → SURVIVED
3. computeDeadNodes : removed call to java/util/Set::size → KILLED
4. computeDeadNodes : negated conditional → KILLED
5. computeDeadNodes : removed conditional - replaced comparison check with false → KILLED
				if (next.size() > 0) {
107 1 1. computeDeadNodes : removed call to java/util/Deque::addAll → KILLED
					toVisit.addAll(next);
108
				}
109
			}
110
		}
111
112 1 1. computeDeadNodes : replaced return value with Collections.emptySet for net/bmahe/genetics4j/neat/NeatUtils::computeDeadNodes → KILLED
		return deadNodes;
113
	}
114
115
	public static Map<Integer, Set<Integer>> computeForwardLinks(final List<Connection> connections) {
116
		Validate.notNull(connections);
117
118 1 1. computeForwardLinks : removed call to java/util/HashMap::<init> → KILLED
		final Map<Integer, Set<Integer>> forwardConnections = new HashMap<>();
119
		for (final Connection connection : connections) {
120 1 1. computeForwardLinks : removed call to net/bmahe/genetics4j/neat/Connection::fromNodeIndex → KILLED
			final var fromNodeIndex = connection.fromNodeIndex();
121 1 1. computeForwardLinks : removed call to net/bmahe/genetics4j/neat/Connection::toNodeIndex → KILLED
			final var toNodeIndex = connection.toNodeIndex();
122
123 4 1. computeForwardLinks : removed conditional - replaced equality check with false → KILLED
2. computeForwardLinks : removed call to net/bmahe/genetics4j/neat/Connection::isEnabled → KILLED
3. computeForwardLinks : removed conditional - replaced equality check with true → KILLED
4. computeForwardLinks : negated conditional → KILLED
			if (connection.isEnabled()) {
124 5 1. computeForwardLinks : removed call to java/util/Map::computeIfAbsent → KILLED
2. computeForwardLinks : replaced call to java/util/Map::computeIfAbsent with argument → KILLED
3. computeForwardLinks : removed call to java/lang/Integer::valueOf → KILLED
4. lambda$computeForwardLinks$0 : replaced return value with Collections.emptySet for net/bmahe/genetics4j/neat/NeatUtils::lambda$computeForwardLinks$0 → KILLED
5. lambda$computeForwardLinks$0 : removed call to java/util/HashSet::<init> → KILLED
				final var toNodes = forwardConnections.computeIfAbsent(fromNodeIndex, k -> new HashSet<>());
125
126 5 1. computeForwardLinks : removed conditional - replaced equality check with false → KILLED
2. computeForwardLinks : removed conditional - replaced equality check with true → KILLED
3. computeForwardLinks : removed call to java/util/Set::add → KILLED
4. computeForwardLinks : removed call to java/lang/Integer::valueOf → KILLED
5. computeForwardLinks : negated conditional → KILLED
				if (toNodes.add(toNodeIndex) == false) {
127 2 1. computeForwardLinks : removed call to java/lang/String::valueOf → SURVIVED
2. computeForwardLinks : removed call to java/lang/IllegalArgumentException::<init> → KILLED
					throw new IllegalArgumentException(
128
							"Found duplicate entries for nodes defined in connection " + connection);
129
				}
130
			}
131
		}
132
133 1 1. computeForwardLinks : replaced return value with Collections.emptyMap for net/bmahe/genetics4j/neat/NeatUtils::computeForwardLinks → KILLED
		return forwardConnections;
134
	}
135
136
	public static Map<Integer, Set<Integer>> computeBackwardLinks(final List<Connection> connections) {
137
		Validate.notNull(connections);
138
139 1 1. computeBackwardLinks : removed call to java/util/HashMap::<init> → KILLED
		final Map<Integer, Set<Integer>> backwardConnections = new HashMap<>();
140
		for (final Connection connection : connections) {
141 1 1. computeBackwardLinks : removed call to net/bmahe/genetics4j/neat/Connection::fromNodeIndex → KILLED
			final var fromNodeIndex = connection.fromNodeIndex();
142 1 1. computeBackwardLinks : removed call to net/bmahe/genetics4j/neat/Connection::toNodeIndex → KILLED
			final var toNodeIndex = connection.toNodeIndex();
143
144 4 1. computeBackwardLinks : removed call to net/bmahe/genetics4j/neat/Connection::isEnabled → KILLED
2. computeBackwardLinks : negated conditional → KILLED
3. computeBackwardLinks : removed conditional - replaced equality check with false → KILLED
4. computeBackwardLinks : removed conditional - replaced equality check with true → KILLED
			if (connection.isEnabled()) {
145 5 1. computeBackwardLinks : removed call to java/lang/Integer::valueOf → KILLED
2. lambda$computeBackwardLinks$1 : removed call to java/util/HashSet::<init> → KILLED
3. computeBackwardLinks : replaced call to java/util/Map::computeIfAbsent with argument → KILLED
4. lambda$computeBackwardLinks$1 : replaced return value with Collections.emptySet for net/bmahe/genetics4j/neat/NeatUtils::lambda$computeBackwardLinks$1 → KILLED
5. computeBackwardLinks : removed call to java/util/Map::computeIfAbsent → KILLED
				final var fromNodes = backwardConnections.computeIfAbsent(toNodeIndex, k -> new HashSet<>());
146
147 5 1. computeBackwardLinks : removed call to java/util/Set::add → KILLED
2. computeBackwardLinks : negated conditional → KILLED
3. computeBackwardLinks : removed call to java/lang/Integer::valueOf → KILLED
4. computeBackwardLinks : removed conditional - replaced equality check with false → KILLED
5. computeBackwardLinks : removed conditional - replaced equality check with true → KILLED
				if (fromNodes.add(fromNodeIndex) == false) {
148 2 1. computeBackwardLinks : removed call to java/lang/String::valueOf → SURVIVED
2. computeBackwardLinks : removed call to java/lang/IllegalArgumentException::<init> → KILLED
					throw new IllegalArgumentException(
149
							"Found duplicate entries for nodes defined in connection " + connection);
150
				}
151
			}
152
		}
153 1 1. computeBackwardLinks : replaced return value with Collections.emptyMap for net/bmahe/genetics4j/neat/NeatUtils::computeBackwardLinks → KILLED
		return backwardConnections;
154
	}
155
156
	public static Map<Integer, Set<Connection>> computeBackwardConnections(final List<Connection> connections) {
157
		Validate.notNull(connections);
158
159 1 1. computeBackwardConnections : removed call to java/util/HashMap::<init> → KILLED
		final Map<Integer, Set<Connection>> backwardConnections = new HashMap<>();
160
		for (final Connection connection : connections) {
161 1 1. computeBackwardConnections : removed call to net/bmahe/genetics4j/neat/Connection::toNodeIndex → KILLED
			final var toNodeIndex = connection.toNodeIndex();
162
163 4 1. computeBackwardConnections : removed conditional - replaced equality check with false → KILLED
2. computeBackwardConnections : removed conditional - replaced equality check with true → KILLED
3. computeBackwardConnections : negated conditional → KILLED
4. computeBackwardConnections : removed call to net/bmahe/genetics4j/neat/Connection::isEnabled → KILLED
			if (connection.isEnabled()) {
164 5 1. computeBackwardConnections : replaced call to java/util/Map::computeIfAbsent with argument → KILLED
2. lambda$computeBackwardConnections$2 : removed call to java/util/HashSet::<init> → KILLED
3. computeBackwardConnections : removed call to java/util/Map::computeIfAbsent → KILLED
4. lambda$computeBackwardConnections$2 : replaced return value with Collections.emptySet for net/bmahe/genetics4j/neat/NeatUtils::lambda$computeBackwardConnections$2 → KILLED
5. computeBackwardConnections : removed call to java/lang/Integer::valueOf → KILLED
				final var fromConnections = backwardConnections.computeIfAbsent(toNodeIndex, k -> new HashSet<>());
165
166 1 1. computeBackwardConnections : removed call to java/util/Set::stream → KILLED
				if (fromConnections.stream()
167 12 1. computeBackwardConnections : negated conditional → KILLED
2. lambda$computeBackwardConnections$3 : Substituted 0 with 1 → KILLED
3. computeBackwardConnections : removed conditional - replaced equality check with false → KILLED
4. computeBackwardConnections : removed conditional - replaced equality check with true → KILLED
5. lambda$computeBackwardConnections$3 : Substituted 1 with 0 → KILLED
6. computeBackwardConnections : removed call to java/util/stream/Stream::anyMatch → KILLED
7. lambda$computeBackwardConnections$3 : replaced boolean return with true for net/bmahe/genetics4j/neat/NeatUtils::lambda$computeBackwardConnections$3 → KILLED
8. lambda$computeBackwardConnections$3 : removed conditional - replaced equality check with false → KILLED
9. lambda$computeBackwardConnections$3 : removed call to net/bmahe/genetics4j/neat/Connection::fromNodeIndex → KILLED
10. lambda$computeBackwardConnections$3 : negated conditional → KILLED
11. lambda$computeBackwardConnections$3 : removed call to net/bmahe/genetics4j/neat/Connection::fromNodeIndex → KILLED
12. lambda$computeBackwardConnections$3 : removed conditional - replaced equality check with true → KILLED
						.anyMatch(existingConnection -> existingConnection.fromNodeIndex() == connection.fromNodeIndex())) {
168 2 1. computeBackwardConnections : removed call to java/lang/String::valueOf → SURVIVED
2. computeBackwardConnections : removed call to java/lang/IllegalArgumentException::<init> → KILLED
					throw new IllegalArgumentException(
169
							"Found duplicate entries for nodes defined in connection " + connection);
170
				}
171 1 1. computeBackwardConnections : removed call to java/util/Set::add → KILLED
				fromConnections.add(connection);
172
			}
173
		}
174 1 1. computeBackwardConnections : replaced return value with Collections.emptyMap for net/bmahe/genetics4j/neat/NeatUtils::computeBackwardConnections → KILLED
		return backwardConnections;
175
	}
176
177
	public static List<List<Integer>> partitionLayersNodes(final Set<Integer> inputNodeIndices,
178
			final Set<Integer> outputNodeIndices, final List<Connection> connections) {
179
		Validate.isTrue(CollectionUtils.isNotEmpty(inputNodeIndices));
180
		Validate.isTrue(CollectionUtils.isNotEmpty(outputNodeIndices));
181
		Validate.isTrue(CollectionUtils.isNotEmpty(connections));
182
183 1 1. partitionLayersNodes : removed call to net/bmahe/genetics4j/neat/NeatUtils::computeForwardLinks → KILLED
		final Map<Integer, Set<Integer>> forwardConnections = computeForwardLinks(connections);
184 1 1. partitionLayersNodes : removed call to net/bmahe/genetics4j/neat/NeatUtils::computeBackwardLinks → KILLED
		final Map<Integer, Set<Integer>> backwardConnections = computeBackwardLinks(connections);
185
186
		// Is it useful? If it's connected to the input node, it's not dead
187 2 1. partitionLayersNodes : replaced call to net/bmahe/genetics4j/neat/NeatUtils::computeDeadNodes with argument → SURVIVED
2. partitionLayersNodes : removed call to net/bmahe/genetics4j/neat/NeatUtils::computeDeadNodes → KILLED
		final var deadNodes = computeDeadNodes(connections, forwardConnections, backwardConnections, outputNodeIndices);
188
189 1 1. partitionLayersNodes : removed call to java/util/HashSet::<init> → KILLED
		final Set<Integer> processedSet = new HashSet<>();
190 1 1. partitionLayersNodes : removed call to java/util/ArrayList::<init> → KILLED
		final List<List<Integer>> layers = new ArrayList<>();
191 1 1. partitionLayersNodes : removed call to java/util/Set::addAll → KILLED
		processedSet.addAll(inputNodeIndices);
192 2 1. partitionLayersNodes : removed call to java/util/ArrayList::<init> → KILLED
2. partitionLayersNodes : removed call to java/util/List::add → KILLED
		layers.add(new ArrayList<>(inputNodeIndices));
193
194 1 1. partitionLayersNodes : Substituted 0 with 1 → KILLED
		boolean done = false;
195 3 1. partitionLayersNodes : removed conditional - replaced equality check with true → TIMED_OUT
2. partitionLayersNodes : negated conditional → KILLED
3. partitionLayersNodes : removed conditional - replaced equality check with false → KILLED
		while (done == false) {
196 1 1. partitionLayersNodes : removed call to java/util/ArrayList::<init> → KILLED
			final List<Integer> layer = new ArrayList<>();
197
198 1 1. partitionLayersNodes : removed call to java/util/HashSet::<init> → KILLED
			final Set<Integer> layerCandidates = new HashSet<>();
199 1 1. partitionLayersNodes : removed call to java/util/Map::entrySet → KILLED
			for (final Entry<Integer, Set<Integer>> entry : forwardConnections.entrySet()) {
200 1 1. partitionLayersNodes : removed call to java/util/Map$Entry::getKey → KILLED
				final var key = entry.getKey();
201 1 1. partitionLayersNodes : removed call to java/util/Map$Entry::getValue → KILLED
				final var values = entry.getValue();
202
203 5 1. partitionLayersNodes : removed conditional - replaced equality check with true → SURVIVED
2. partitionLayersNodes : negated conditional → KILLED
3. partitionLayersNodes : removed call to java/util/Set::contains → KILLED
4. partitionLayersNodes : Substituted 1 with 0 → KILLED
5. partitionLayersNodes : removed conditional - replaced equality check with false → KILLED
				if (processedSet.contains(key) == true) {
204
					for (final Integer candidate : values) {
205 8 1. partitionLayersNodes : removed call to java/util/Set::contains → TIMED_OUT
2. partitionLayersNodes : removed conditional - replaced equality check with true → TIMED_OUT
3. partitionLayersNodes : removed call to java/util/Set::contains → KILLED
4. partitionLayersNodes : removed conditional - replaced equality check with false → KILLED
5. partitionLayersNodes : negated conditional → KILLED
6. partitionLayersNodes : removed conditional - replaced equality check with false → KILLED
7. partitionLayersNodes : removed conditional - replaced equality check with true → KILLED
8. partitionLayersNodes : negated conditional → KILLED
						if (deadNodes.contains(candidate) == false && processedSet.contains(candidate) == false
206 4 1. partitionLayersNodes : removed call to java/util/Set::contains → SURVIVED
2. partitionLayersNodes : removed conditional - replaced equality check with true → SURVIVED
3. partitionLayersNodes : negated conditional → KILLED
4. partitionLayersNodes : removed conditional - replaced equality check with false → KILLED
								&& outputNodeIndices.contains(candidate) == false) {
207 1 1. partitionLayersNodes : removed call to java/util/Set::add → KILLED
							layerCandidates.add(candidate);
208
						}
209
					}
210
				}
211
			}
212
213
			/**
214
			 * We need to ensure that all the nodes pointed at the candidate are either a
215
			 * dead node (and we don't care) or is already in the processedSet
216
			 */
217
			for (final Integer candidate : layerCandidates) {
218 3 1. partitionLayersNodes : replaced call to java/util/Map::getOrDefault with argument → SURVIVED
2. partitionLayersNodes : removed call to java/util/Set::of → SURVIVED
3. partitionLayersNodes : removed call to java/util/Map::getOrDefault → KILLED
				final var backwardLinks = backwardConnections.getOrDefault(candidate, Set.of());
219
220 1 1. partitionLayersNodes : removed call to java/util/Set::stream → KILLED
				final boolean allBackwardInEndSet = backwardLinks.stream()
221 12 1. lambda$partitionLayersNodes$4 : removed conditional - replaced equality check with false → SURVIVED
2. lambda$partitionLayersNodes$4 : Substituted 0 with 1 → NO_COVERAGE
3. lambda$partitionLayersNodes$4 : removed call to java/util/Set::contains → NO_COVERAGE
4. lambda$partitionLayersNodes$4 : negated conditional → NO_COVERAGE
5. lambda$partitionLayersNodes$4 : replaced boolean return with true for net/bmahe/genetics4j/neat/NeatUtils::lambda$partitionLayersNodes$4 → SURVIVED
6. lambda$partitionLayersNodes$4 : removed conditional - replaced equality check with false → NO_COVERAGE
7. lambda$partitionLayersNodes$4 : removed conditional - replaced equality check with true → NO_COVERAGE
8. lambda$partitionLayersNodes$4 : removed conditional - replaced equality check with true → KILLED
9. lambda$partitionLayersNodes$4 : removed call to java/util/Set::contains → KILLED
10. lambda$partitionLayersNodes$4 : negated conditional → KILLED
11. lambda$partitionLayersNodes$4 : Substituted 1 with 0 → KILLED
12. partitionLayersNodes : removed call to java/util/stream/Stream::allMatch → KILLED
						.allMatch(next -> processedSet.contains(next) || deadNodes.contains(next));
222
223 3 1. partitionLayersNodes : removed conditional - replaced equality check with true → SURVIVED
2. partitionLayersNodes : negated conditional → KILLED
3. partitionLayersNodes : removed conditional - replaced equality check with false → KILLED
				if (allBackwardInEndSet) {
224 1 1. partitionLayersNodes : removed call to java/util/List::add → KILLED
					layer.add(candidate);
225
				}
226
			}
227
228 4 1. partitionLayersNodes : removed conditional - replaced equality check with false → TIMED_OUT
2. partitionLayersNodes : negated conditional → KILLED
3. partitionLayersNodes : removed call to java/util/List::size → KILLED
4. partitionLayersNodes : removed conditional - replaced equality check with true → KILLED
			if (layer.size() == 0) {
229 1 1. partitionLayersNodes : Substituted 1 with 0 → TIMED_OUT
				done = true;
230 1 1. partitionLayersNodes : removed call to java/util/List::addAll → KILLED
				layer.addAll(outputNodeIndices);
231
			} else {
232 1 1. partitionLayersNodes : removed call to java/util/Set::addAll → TIMED_OUT
				processedSet.addAll(layer);
233
			}
234 1 1. partitionLayersNodes : removed call to java/util/List::add → KILLED
			layers.add(layer);
235
		}
236 1 1. partitionLayersNodes : replaced return value with Collections.emptyList for net/bmahe/genetics4j/neat/NeatUtils::partitionLayersNodes → KILLED
		return layers;
237
	}
238
239
	public static float compatibilityDistance(final List<Connection> firstConnections,
240
			final List<Connection> secondConnections, final float c1, final float c2, final float c3) {
241 6 1. compatibilityDistance : removed conditional - replaced equality check with false → SURVIVED
2. compatibilityDistance : removed conditional - replaced equality check with true → SURVIVED
3. compatibilityDistance : removed conditional - replaced equality check with false → KILLED
4. compatibilityDistance : negated conditional → KILLED
5. compatibilityDistance : removed conditional - replaced equality check with true → KILLED
6. compatibilityDistance : negated conditional → KILLED
		if (firstConnections == null || secondConnections == null) {
242 2 1. compatibilityDistance : Substituted 3.4028235E38 with 1.0 → NO_COVERAGE
2. compatibilityDistance : replaced float return with 0.0f for net/bmahe/genetics4j/neat/NeatUtils::compatibilityDistance → NO_COVERAGE
			return Float.MAX_VALUE;
243
		}
244
245
		/**
246
		 * Both connections are expected to already be sorted
247
		 */
248
249 4 1. compatibilityDistance : removed call to java/util/List::size → KILLED
2. compatibilityDistance : removed call to java/util/List::size → KILLED
3. compatibilityDistance : removed call to java/lang/Math::max → KILLED
4. compatibilityDistance : replaced call to java/lang/Math::max with argument → KILLED
		final int maxConnectionSize = Math.max(firstConnections.size(), secondConnections.size());
250 6 1. compatibilityDistance : changed conditional boundary → SURVIVED
2. compatibilityDistance : Substituted 20 with 21 → SURVIVED
3. compatibilityDistance : removed conditional - replaced comparison check with true → KILLED
4. compatibilityDistance : Substituted 1.0 with 2.0 → KILLED
5. compatibilityDistance : removed conditional - replaced comparison check with false → KILLED
6. compatibilityDistance : negated conditional → KILLED
		final float n = maxConnectionSize < 20 ? 1.0f : maxConnectionSize;
251
252 1 1. compatibilityDistance : Substituted 0 with 1 → KILLED
		int disjointGenes = 0;
253
254 1 1. compatibilityDistance : Substituted 0.0 with 1.0 → KILLED
		float sumWeightDifference = 0;
255 1 1. compatibilityDistance : Substituted 0 with 1 → KILLED
		int numMatchingGenes = 0;
256
257 1 1. compatibilityDistance : Substituted 0 with 1 → KILLED
		int indexFirst = 0;
258 1 1. compatibilityDistance : Substituted 0 with 1 → KILLED
		int indexSecond = 0;
259
260 10 1. compatibilityDistance : removed call to java/util/List::size → KILLED
2. compatibilityDistance : negated conditional → KILLED
3. compatibilityDistance : removed conditional - replaced comparison check with true → KILLED
4. compatibilityDistance : removed call to java/util/List::size → KILLED
5. compatibilityDistance : negated conditional → KILLED
6. compatibilityDistance : removed conditional - replaced comparison check with true → KILLED
7. compatibilityDistance : removed conditional - replaced comparison check with false → KILLED
8. compatibilityDistance : changed conditional boundary → KILLED
9. compatibilityDistance : removed conditional - replaced comparison check with false → KILLED
10. compatibilityDistance : changed conditional boundary → KILLED
		while (indexFirst < firstConnections.size() && indexSecond < secondConnections.size()) {
261
262 1 1. compatibilityDistance : removed call to java/util/List::get → KILLED
			final Connection firstConnection = firstConnections.get(indexFirst);
263 1 1. compatibilityDistance : removed call to net/bmahe/genetics4j/neat/Connection::innovation → KILLED
			final int firstInnovation = firstConnection.innovation();
264
265 1 1. compatibilityDistance : removed call to java/util/List::get → KILLED
			final Connection secondConnection = secondConnections.get(indexSecond);
266 1 1. compatibilityDistance : removed call to net/bmahe/genetics4j/neat/Connection::innovation → KILLED
			final int secondInnovation = secondConnection.innovation();
267
268 3 1. compatibilityDistance : negated conditional → KILLED
2. compatibilityDistance : removed conditional - replaced equality check with true → KILLED
3. compatibilityDistance : removed conditional - replaced equality check with false → KILLED
			if (firstInnovation == secondInnovation) {
269 6 1. compatibilityDistance : replaced call to java/lang/Math::abs with argument → KILLED
2. compatibilityDistance : removed call to net/bmahe/genetics4j/neat/Connection::weight → KILLED
3. compatibilityDistance : removed call to net/bmahe/genetics4j/neat/Connection::weight → KILLED
4. compatibilityDistance : Replaced float addition with subtraction → KILLED
5. compatibilityDistance : removed call to java/lang/Math::abs → KILLED
6. compatibilityDistance : Replaced float subtraction with addition → KILLED
				sumWeightDifference += Math.abs(secondConnection.weight() - firstConnection.weight());
270 2 1. compatibilityDistance : Removed increment 1 → KILLED
2. compatibilityDistance : Changed increment from 1 to -1 → KILLED
				numMatchingGenes++;
271
272 2 1. compatibilityDistance : Changed increment from 1 to -1 → KILLED
2. compatibilityDistance : Removed increment 1 → KILLED
				indexFirst++;
273 2 1. compatibilityDistance : Removed increment 1 → KILLED
2. compatibilityDistance : Changed increment from 1 to -1 → KILLED
				indexSecond++;
274
			} else {
275
276 2 1. compatibilityDistance : Removed increment 1 → KILLED
2. compatibilityDistance : Changed increment from 1 to -1 → KILLED
				disjointGenes++;
277
278 4 1. compatibilityDistance : changed conditional boundary → SURVIVED
2. compatibilityDistance : removed conditional - replaced comparison check with true → KILLED
3. compatibilityDistance : removed conditional - replaced comparison check with false → KILLED
4. compatibilityDistance : negated conditional → KILLED
				if (firstInnovation < secondInnovation) {
279 2 1. compatibilityDistance : Removed increment 1 → TIMED_OUT
2. compatibilityDistance : Changed increment from 1 to -1 → KILLED
					indexFirst++;
280
				} else {
281 2 1. compatibilityDistance : Removed increment 1 → TIMED_OUT
2. compatibilityDistance : Changed increment from 1 to -1 → KILLED
					indexSecond++;
282
				}
283
			}
284
		}
285
286 1 1. compatibilityDistance : Substituted 0 with 1 → KILLED
		int excessGenes = 0;
287
		/**
288
		 * We have consumed all elements from secondConnections and thus have their
289
		 * remaining difference as excess genes
290
		 */
291 5 1. compatibilityDistance : negated conditional → KILLED
2. compatibilityDistance : removed call to java/util/List::size → KILLED
3. compatibilityDistance : removed conditional - replaced comparison check with true → KILLED
4. compatibilityDistance : removed conditional - replaced comparison check with false → KILLED
5. compatibilityDistance : changed conditional boundary → KILLED
		if (indexFirst < firstConnections.size()) {
292 3 1. compatibilityDistance : Replaced integer subtraction with addition → KILLED
2. compatibilityDistance : Replaced integer addition with subtraction → KILLED
3. compatibilityDistance : removed call to java/util/List::size → KILLED
			excessGenes += firstConnections.size() - indexSecond;
293 5 1. compatibilityDistance : negated conditional → KILLED
2. compatibilityDistance : removed call to java/util/List::size → KILLED
3. compatibilityDistance : removed conditional - replaced comparison check with true → KILLED
4. compatibilityDistance : removed conditional - replaced comparison check with false → KILLED
5. compatibilityDistance : changed conditional boundary → KILLED
		} else if (indexSecond < secondConnections.size()) {
294 3 1. compatibilityDistance : Replaced integer addition with subtraction → KILLED
2. compatibilityDistance : Replaced integer subtraction with addition → KILLED
3. compatibilityDistance : removed call to java/util/List::size → KILLED
			excessGenes += secondConnections.size() - indexFirst;
295
		}
296
297 4 1. compatibilityDistance : Substituted 1 with 0 → SURVIVED
2. compatibilityDistance : replaced call to java/lang/Math::max with argument → SURVIVED
3. compatibilityDistance : Replaced float division with multiplication → KILLED
4. compatibilityDistance : removed call to java/lang/Math::max → KILLED
		final float averageWeightDifference = sumWeightDifference / Math.max(1, numMatchingGenes);
298
299 8 1. compatibilityDistance : Replaced float division with multiplication → SURVIVED
2. compatibilityDistance : Replaced float division with multiplication → KILLED
3. compatibilityDistance : replaced float return with 0.0f for net/bmahe/genetics4j/neat/NeatUtils::compatibilityDistance → KILLED
4. compatibilityDistance : Replaced float addition with subtraction → KILLED
5. compatibilityDistance : Replaced float multiplication with division → KILLED
6. compatibilityDistance : Replaced float multiplication with division → KILLED
7. compatibilityDistance : Replaced float multiplication with division → KILLED
8. compatibilityDistance : Replaced float addition with subtraction → KILLED
		return (c1 * excessGenes) / n + (c2 * disjointGenes) / n + c3 * averageWeightDifference;
300
	}
301
302
	public static float compatibilityDistance(final Genotype genotype1, final Genotype genotype2,
303
			final int chromosomeIndex, final float c1, final float c2, final float c3) {
304
		Validate.notNull(genotype1);
305
		Validate.notNull(genotype2);
306
		Validate.isTrue(chromosomeIndex >= 0);
307
		Validate.isTrue(chromosomeIndex < genotype1.getSize());
308
		Validate.isTrue(chromosomeIndex < genotype2.getSize());
309
310 1 1. compatibilityDistance : removed call to net/bmahe/genetics4j/core/Genotype::getChromosome → KILLED
		final var neatChromosome1 = genotype1.getChromosome(chromosomeIndex, NeatChromosome.class);
311 1 1. compatibilityDistance : removed call to net/bmahe/genetics4j/neat/chromosomes/NeatChromosome::getConnections → KILLED
		final var connections1 = neatChromosome1.getConnections();
312
313 1 1. compatibilityDistance : removed call to net/bmahe/genetics4j/core/Genotype::getChromosome → KILLED
		final var neatChromosome2 = genotype2.getChromosome(chromosomeIndex, NeatChromosome.class);
314 1 1. compatibilityDistance : removed call to net/bmahe/genetics4j/neat/chromosomes/NeatChromosome::getConnections → KILLED
		final var connections2 = neatChromosome2.getConnections();
315
316 3 1. compatibilityDistance : replaced call to net/bmahe/genetics4j/neat/NeatUtils::compatibilityDistance with argument → KILLED
2. compatibilityDistance : removed call to net/bmahe/genetics4j/neat/NeatUtils::compatibilityDistance → KILLED
3. compatibilityDistance : replaced float return with 0.0f for net/bmahe/genetics4j/neat/NeatUtils::compatibilityDistance → KILLED
		return compatibilityDistance(connections1, connections2, c1, c2, c3);
317
	}
318
319
	public static <T extends Comparable<T>> List<Species<T>> speciate(final RandomGenerator random,
320
			final SpeciesIdGenerator speciesIdGenerator, final List<Species<T>> seedSpecies,
321
			final Population<T> population, final BiPredicate<Individual<T>, Individual<T>> speciesPredicate) {
322
		Validate.notNull(random);
323
		Validate.notNull(speciesIdGenerator);
324
		Validate.notNull(seedSpecies);
325
		Validate.notNull(population);
326
		Validate.notNull(speciesPredicate);
327
328 1 1. speciate : removed call to java/util/ArrayList::<init> → KILLED
		final List<Species<T>> species = new ArrayList<>();
329
330
		for (final Species<T> speciesIterator : seedSpecies) {
331 1 1. speciate : removed call to net/bmahe/genetics4j/neat/Species::getId → NO_COVERAGE
			final var speciesId = speciesIterator.getId();
332 1 1. speciate : removed call to net/bmahe/genetics4j/neat/Species::getNumMembers → NO_COVERAGE
			final int numMembers = speciesIterator.getNumMembers();
333 4 1. speciate : removed conditional - replaced comparison check with true → NO_COVERAGE
2. speciate : changed conditional boundary → NO_COVERAGE
3. speciate : negated conditional → NO_COVERAGE
4. speciate : removed conditional - replaced comparison check with false → NO_COVERAGE
			if (numMembers > 0) {
334 2 1. speciate : replaced call to java/util/random/RandomGenerator::nextInt with argument → NO_COVERAGE
2. speciate : removed call to java/util/random/RandomGenerator::nextInt → NO_COVERAGE
				final int randomIndex = random.nextInt(numMembers);
335 2 1. speciate : removed call to net/bmahe/genetics4j/neat/Species::getMembers → NO_COVERAGE
2. speciate : removed call to java/util/List::of → NO_COVERAGE
				final var newAncestors = List.of(speciesIterator.getMembers()
336 1 1. speciate : removed call to java/util/List::get → NO_COVERAGE
						.get(randomIndex));
337 1 1. speciate : removed call to net/bmahe/genetics4j/neat/Species::<init> → NO_COVERAGE
				final var newSpecies = new Species<>(speciesId, newAncestors);
338 1 1. speciate : removed call to java/util/List::add → NO_COVERAGE
				species.add(newSpecies);
339
			}
340
		}
341
342
		for (final Individual<T> individual : population) {
343
344 1 1. speciate : Substituted 0 with 1 → KILLED
			boolean existingSpeciesFound = false;
345 1 1. speciate : Substituted 0 with 1 → SURVIVED
			int currentSpeciesIndex = 0;
346 8 1. speciate : removed conditional - replaced equality check with true → TIMED_OUT
2. speciate : removed conditional - replaced equality check with false → KILLED
3. speciate : changed conditional boundary → KILLED
4. speciate : removed conditional - replaced comparison check with false → KILLED
5. speciate : negated conditional → KILLED
6. speciate : negated conditional → KILLED
7. speciate : removed call to java/util/List::size → KILLED
8. speciate : removed conditional - replaced comparison check with true → KILLED
			while (existingSpeciesFound == false && currentSpeciesIndex < species.size()) {
347
348 1 1. speciate : removed call to java/util/List::get → KILLED
				final var currentSpecies = species.get(currentSpeciesIndex);
349
350 1 1. speciate : removed call to net/bmahe/genetics4j/neat/Species::getAncestors → KILLED
				final boolean anyAncestorMatch = currentSpecies.getAncestors()
351 1 1. speciate : removed call to java/util/List::stream → KILLED
						.stream()
352 4 1. speciate : removed call to java/util/stream/Stream::anyMatch → SURVIVED
2. lambda$speciate$5 : replaced boolean return with true for net/bmahe/genetics4j/neat/NeatUtils::lambda$speciate$5 → NO_COVERAGE
3. lambda$speciate$5 : removed call to java/util/function/BiPredicate::test → NO_COVERAGE
4. lambda$speciate$5 : replaced boolean return with false for net/bmahe/genetics4j/neat/NeatUtils::lambda$speciate$5 → NO_COVERAGE
						.anyMatch(candidate -> speciesPredicate.test(individual, candidate));
353
354 1 1. speciate : removed call to net/bmahe/genetics4j/neat/Species::getMembers → KILLED
				final boolean anyMemberMatch = currentSpecies.getMembers()
355 1 1. speciate : removed call to java/util/List::stream → KILLED
						.stream()
356 4 1. lambda$speciate$6 : replaced boolean return with false for net/bmahe/genetics4j/neat/NeatUtils::lambda$speciate$6 → KILLED
2. lambda$speciate$6 : removed call to java/util/function/BiPredicate::test → KILLED
3. lambda$speciate$6 : replaced boolean return with true for net/bmahe/genetics4j/neat/NeatUtils::lambda$speciate$6 → KILLED
4. speciate : removed call to java/util/stream/Stream::anyMatch → KILLED
						.anyMatch(candidate -> speciesPredicate.test(individual, candidate));
357
358 6 1. speciate : removed conditional - replaced equality check with true → SURVIVED
2. speciate : negated conditional → KILLED
3. speciate : negated conditional → KILLED
4. speciate : removed conditional - replaced equality check with true → KILLED
5. speciate : removed conditional - replaced equality check with false → KILLED
6. speciate : removed conditional - replaced equality check with false → KILLED
				if (anyAncestorMatch || anyMemberMatch) {
359 1 1. speciate : removed call to net/bmahe/genetics4j/neat/Species::addMember → KILLED
					currentSpecies.addMember(individual);
360 1 1. speciate : Substituted 1 with 0 → TIMED_OUT
					existingSpeciesFound = true;
361
				} else {
362 2 1. speciate : Removed increment 1 → TIMED_OUT
2. speciate : Changed increment from 1 to -1 → KILLED
					currentSpeciesIndex++;
363
				}
364
			}
365
366 3 1. speciate : removed conditional - replaced equality check with true → KILLED
2. speciate : removed conditional - replaced equality check with false → KILLED
3. speciate : negated conditional → KILLED
			if (existingSpeciesFound == false) {
367 1 1. speciate : removed call to net/bmahe/genetics4j/neat/SpeciesIdGenerator::computeNewId → SURVIVED
				final int newSpeciesId = speciesIdGenerator.computeNewId();
368 2 1. speciate : removed call to java/util/List::of → KILLED
2. speciate : removed call to net/bmahe/genetics4j/neat/Species::<init> → KILLED
				final var newSpecies = new Species<T>(newSpeciesId, List.of());
369 1 1. speciate : removed call to net/bmahe/genetics4j/neat/Species::addMember → KILLED
				newSpecies.addMember(individual);
370 1 1. speciate : removed call to java/util/List::add → KILLED
				species.add(newSpecies);
371
			}
372
		}
373
374 2 1. speciate : replaced return value with Collections.emptyList for net/bmahe/genetics4j/neat/NeatUtils::speciate → KILLED
2. speciate : removed call to java/util/List::stream → KILLED
		return species.stream()
375 10 1. lambda$speciate$7 : replaced boolean return with true for net/bmahe/genetics4j/neat/NeatUtils::lambda$speciate$7 → SURVIVED
2. speciate : replaced call to java/util/stream/Stream::filter with receiver → SURVIVED
3. lambda$speciate$7 : Substituted 0 with 1 → NO_COVERAGE
4. lambda$speciate$7 : changed conditional boundary → SURVIVED
5. lambda$speciate$7 : removed conditional - replaced comparison check with true → SURVIVED
6. lambda$speciate$7 : removed call to net/bmahe/genetics4j/neat/Species::getNumMembers → KILLED
7. lambda$speciate$7 : negated conditional → KILLED
8. lambda$speciate$7 : Substituted 1 with 0 → KILLED
9. lambda$speciate$7 : removed conditional - replaced comparison check with false → KILLED
10. speciate : removed call to java/util/stream/Stream::filter → KILLED
				.filter(sp -> sp.getNumMembers() > 0)
376 1 1. speciate : removed call to java/util/stream/Stream::toList → KILLED
				.toList();
377
	}
378
}

Mutations

88

1.1
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
removed call to java/util/HashSet::<init> → KILLED

90

1.1
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
removed call to java/lang/Integer::valueOf → KILLED

2.2
Location : computeDeadNodes
Killed by : none
removed call to java/util/Set::add → SURVIVED
Covering tests

3.3
Location : computeDeadNodes
Killed by : none
removed call to net/bmahe/genetics4j/neat/Connection::fromNodeIndex → SURVIVED Covering tests

91

1.1
Location : computeDeadNodes
Killed by : none
removed call to java/lang/Integer::valueOf → SURVIVED
Covering tests

2.2
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
removed call to java/util/Set::add → KILLED

3.3
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
removed call to net/bmahe/genetics4j/neat/Connection::toNodeIndex → KILLED

93

1.1
Location : computeDeadNodes
Killed by : none
removed call to java/util/Set::removeAll → SURVIVED
Covering tests

95

1.1
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
removed call to java/util/HashSet::<init> → KILLED

96

1.1
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
removed call to java/util/ArrayDeque::<init> → KILLED

97

1.1
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
removed call to java/util/Deque::size → KILLED

2.2
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
negated conditional → KILLED

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

4.4
Location : computeDeadNodes
Killed by : none
removed conditional - replaced comparison check with true → TIMED_OUT

5.5
Location : computeDeadNodes
Killed by : none
changed conditional boundary → TIMED_OUT

98

1.1
Location : computeDeadNodes
Killed by : none
removed call to java/util/Deque::poll → TIMED_OUT

100

1.1
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
removed call to java/util/Set::remove → KILLED

101

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

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

3.3
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
negated conditional → KILLED

4.4
Location : computeDeadNodes
Killed by : none
removed call to java/util/Set::contains → SURVIVED Covering tests

103

1.1
Location : computeDeadNodes
Killed by : none
removed call to java/util/Set::add → SURVIVED
Covering tests

105

1.1
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
removed call to java/util/Set::of → KILLED

2.2
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
removed call to java/util/Map::getOrDefault → KILLED

3.3
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
replaced call to java/util/Map::getOrDefault with argument → KILLED

106

1.1
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
removed call to java/util/Set::size → KILLED

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

3.3
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
negated conditional → KILLED

4.4
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
removed conditional - replaced comparison check with false → KILLED

5.5
Location : computeDeadNodes
Killed by : none
changed conditional boundary → SURVIVED Covering tests

107

1.1
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
removed call to java/util/Deque::addAll → KILLED

112

1.1
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
replaced return value with Collections.emptySet for net/bmahe/genetics4j/neat/NeatUtils::computeDeadNodes → KILLED

118

1.1
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinksEmptyConnections()]
removed call to java/util/HashMap::<init> → KILLED

120

1.1
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinks()]
removed call to net/bmahe/genetics4j/neat/Connection::fromNodeIndex → KILLED

121

1.1
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinks()]
removed call to net/bmahe/genetics4j/neat/Connection::toNodeIndex → KILLED

123

1.1
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinksDuplicateConnection()]
removed conditional - replaced equality check with false → KILLED

2.2
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinksDuplicateConnection()]
removed call to net/bmahe/genetics4j/neat/Connection::isEnabled → KILLED

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

4.4
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinksDuplicateConnection()]
negated conditional → KILLED

124

1.1
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinksDuplicateConnection()]
removed call to java/util/Map::computeIfAbsent → KILLED

2.2
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinksDuplicateConnection()]
replaced call to java/util/Map::computeIfAbsent with argument → KILLED

3.3
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinks()]
removed call to java/lang/Integer::valueOf → KILLED

4.4
Location : lambda$computeForwardLinks$0
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinksDuplicateConnection()]
replaced return value with Collections.emptySet for net/bmahe/genetics4j/neat/NeatUtils::lambda$computeForwardLinks$0 → KILLED

5.5
Location : lambda$computeForwardLinks$0
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinksDuplicateConnection()]
removed call to java/util/HashSet::<init> → KILLED

126

1.1
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinksDuplicateConnection()]
removed conditional - replaced equality check with false → KILLED

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

3.3
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinks()]
removed call to java/util/Set::add → KILLED

4.4
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinks()]
removed call to java/lang/Integer::valueOf → KILLED

5.5
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinks()]
negated conditional → KILLED

127

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

2.2
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinksDuplicateConnection()]
removed call to java/lang/IllegalArgumentException::<init> → KILLED

133

1.1
Location : computeForwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeForwardLinks()]
replaced return value with Collections.emptyMap for net/bmahe/genetics4j/neat/NeatUtils::computeForwardLinks → KILLED

139

1.1
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinksEmptyConnections()]
removed call to java/util/HashMap::<init> → KILLED

141

1.1
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinks()]
removed call to net/bmahe/genetics4j/neat/Connection::fromNodeIndex → KILLED

142

1.1
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinks()]
removed call to net/bmahe/genetics4j/neat/Connection::toNodeIndex → KILLED

144

1.1
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinksDuplicateConnection()]
removed call to net/bmahe/genetics4j/neat/Connection::isEnabled → KILLED

2.2
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinksDuplicateConnection()]
negated conditional → KILLED

3.3
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinksDuplicateConnection()]
removed conditional - replaced equality check with false → KILLED

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

145

1.1
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinks()]
removed call to java/lang/Integer::valueOf → KILLED

2.2
Location : lambda$computeBackwardLinks$1
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinksDuplicateConnection()]
removed call to java/util/HashSet::<init> → KILLED

3.3
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinksDuplicateConnection()]
replaced call to java/util/Map::computeIfAbsent with argument → KILLED

4.4
Location : lambda$computeBackwardLinks$1
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinksDuplicateConnection()]
replaced return value with Collections.emptySet for net/bmahe/genetics4j/neat/NeatUtils::lambda$computeBackwardLinks$1 → KILLED

5.5
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinksDuplicateConnection()]
removed call to java/util/Map::computeIfAbsent → KILLED

147

1.1
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinks()]
removed call to java/util/Set::add → KILLED

2.2
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinks()]
negated conditional → KILLED

3.3
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinks()]
removed call to java/lang/Integer::valueOf → KILLED

4.4
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinksDuplicateConnection()]
removed conditional - replaced equality check with false → KILLED

5.5
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinks()]
removed conditional - replaced equality check with true → KILLED

148

1.1
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinksDuplicateConnection()]
removed call to java/lang/IllegalArgumentException::<init> → KILLED

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

153

1.1
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinks()]
replaced return value with Collections.emptyMap for net/bmahe/genetics4j/neat/NeatUtils::computeBackwardLinks → KILLED

159

1.1
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsEmptyConnections()]
removed call to java/util/HashMap::<init> → KILLED

161

1.1
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnections()]
removed call to net/bmahe/genetics4j/neat/Connection::toNodeIndex → KILLED

163

1.1
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
removed conditional - replaced equality check with false → KILLED

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

3.3
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
negated conditional → KILLED

4.4
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
removed call to net/bmahe/genetics4j/neat/Connection::isEnabled → KILLED

164

1.1
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
replaced call to java/util/Map::computeIfAbsent with argument → KILLED

2.2
Location : lambda$computeBackwardConnections$2
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
removed call to java/util/HashSet::<init> → KILLED

3.3
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
removed call to java/util/Map::computeIfAbsent → KILLED

4.4
Location : lambda$computeBackwardConnections$2
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
replaced return value with Collections.emptySet for net/bmahe/genetics4j/neat/NeatUtils::lambda$computeBackwardConnections$2 → KILLED

5.5
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnections()]
removed call to java/lang/Integer::valueOf → KILLED

166

1.1
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
removed call to java/util/Set::stream → KILLED

167

1.1
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnections()]
negated conditional → KILLED

2.2
Location : lambda$computeBackwardConnections$3
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnections()]
Substituted 0 with 1 → KILLED

3.3
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
removed conditional - replaced equality check with false → KILLED

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

5.5
Location : lambda$computeBackwardConnections$3
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
Substituted 1 with 0 → KILLED

6.6
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
removed call to java/util/stream/Stream::anyMatch → KILLED

7.7
Location : lambda$computeBackwardConnections$3
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnections()]
replaced boolean return with true for net/bmahe/genetics4j/neat/NeatUtils::lambda$computeBackwardConnections$3 → KILLED

8.8
Location : lambda$computeBackwardConnections$3
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
removed conditional - replaced equality check with false → KILLED

9.9
Location : lambda$computeBackwardConnections$3
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnections()]
removed call to net/bmahe/genetics4j/neat/Connection::fromNodeIndex → KILLED

10.10
Location : lambda$computeBackwardConnections$3
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnections()]
negated conditional → KILLED

11.11
Location : lambda$computeBackwardConnections$3
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
removed call to net/bmahe/genetics4j/neat/Connection::fromNodeIndex → KILLED

12.12
Location : lambda$computeBackwardConnections$3
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnections()]
removed conditional - replaced equality check with true → KILLED

168

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

2.2
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
removed call to java/lang/IllegalArgumentException::<init> → KILLED

171

1.1
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnectionsDuplicateConnection()]
removed call to java/util/Set::add → KILLED

174

1.1
Location : computeBackwardConnections
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardConnections()]
replaced return value with Collections.emptyMap for net/bmahe/genetics4j/neat/NeatUtils::computeBackwardConnections → KILLED

183

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to net/bmahe/genetics4j/neat/NeatUtils::computeForwardLinks → KILLED

184

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to net/bmahe/genetics4j/neat/NeatUtils::computeBackwardLinks → KILLED

187

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to net/bmahe/genetics4j/neat/NeatUtils::computeDeadNodes → KILLED

2.2
Location : partitionLayersNodes
Killed by : none
replaced call to net/bmahe/genetics4j/neat/NeatUtils::computeDeadNodes with argument → SURVIVED
Covering tests

189

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/HashSet::<init> → KILLED

190

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/ArrayList::<init> → KILLED

191

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/Set::addAll → KILLED

192

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/ArrayList::<init> → KILLED

2.2
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/List::add → KILLED

194

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
Substituted 0 with 1 → KILLED

195

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
negated conditional → KILLED

2.2
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : partitionLayersNodes
Killed by : none
removed conditional - replaced equality check with true → TIMED_OUT

196

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/ArrayList::<init> → KILLED

198

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/HashSet::<init> → KILLED

199

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/Map::entrySet → KILLED

200

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/Map$Entry::getKey → KILLED

201

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/Map$Entry::getValue → KILLED

203

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
negated conditional → KILLED

2.2
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/Set::contains → KILLED

3.3
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
Substituted 1 with 0 → KILLED

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

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

205

1.1
Location : partitionLayersNodes
Killed by : none
removed call to java/util/Set::contains → TIMED_OUT

2.2
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/Set::contains → KILLED

3.3
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed conditional - replaced equality check with false → KILLED

4.4
Location : partitionLayersNodes
Killed by : none
removed conditional - replaced equality check with true → TIMED_OUT

5.5
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
negated conditional → KILLED

6.6
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed conditional - replaced equality check with false → KILLED

7.7
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed conditional - replaced equality check with true → KILLED

8.8
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
negated conditional → KILLED

206

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
negated conditional → KILLED

2.2
Location : partitionLayersNodes
Killed by : none
removed call to java/util/Set::contains → SURVIVED
Covering tests

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

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

207

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/Set::add → KILLED

218

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/Map::getOrDefault → KILLED

2.2
Location : partitionLayersNodes
Killed by : none
replaced call to java/util/Map::getOrDefault with argument → SURVIVED
Covering tests

3.3
Location : partitionLayersNodes
Killed by : none
removed call to java/util/Set::of → SURVIVED Covering tests

220

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/Set::stream → KILLED

221

1.1
Location : lambda$partitionLayersNodes$4
Killed by : none
removed conditional - replaced equality check with false → SURVIVED
Covering tests

2.2
Location : lambda$partitionLayersNodes$4
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed conditional - replaced equality check with true → KILLED

3.3
Location : lambda$partitionLayersNodes$4
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/Set::contains → KILLED

4.4
Location : lambda$partitionLayersNodes$4
Killed by : none
Substituted 0 with 1 → NO_COVERAGE

5.5
Location : lambda$partitionLayersNodes$4
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
negated conditional → KILLED

6.6
Location : lambda$partitionLayersNodes$4
Killed by : none
removed call to java/util/Set::contains → NO_COVERAGE

7.7
Location : lambda$partitionLayersNodes$4
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
Substituted 1 with 0 → KILLED

8.8
Location : lambda$partitionLayersNodes$4
Killed by : none
negated conditional → NO_COVERAGE

9.9
Location : lambda$partitionLayersNodes$4
Killed by : none
replaced boolean return with true for net/bmahe/genetics4j/neat/NeatUtils::lambda$partitionLayersNodes$4 → SURVIVED Covering tests

10.10
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/stream/Stream::allMatch → KILLED

11.11
Location : lambda$partitionLayersNodes$4
Killed by : none
removed conditional - replaced equality check with false → NO_COVERAGE

12.12
Location : lambda$partitionLayersNodes$4
Killed by : none
removed conditional - replaced equality check with true → NO_COVERAGE

223

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
negated conditional → KILLED

2.2
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed conditional - replaced equality check with false → KILLED

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

224

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/List::add → KILLED

228

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
negated conditional → KILLED

2.2
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/List::size → KILLED

3.3
Location : partitionLayersNodes
Killed by : none
removed conditional - replaced equality check with false → TIMED_OUT

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

229

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

230

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/List::addAll → KILLED

232

1.1
Location : partitionLayersNodes
Killed by : none
removed call to java/util/Set::addAll → TIMED_OUT

234

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/List::add → KILLED

236

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
replaced return value with Collections.emptyList for net/bmahe/genetics4j/neat/NeatUtils::partitionLayersNodes → KILLED

241

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed conditional - replaced equality check with false → KILLED

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

3.3
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
negated conditional → KILLED

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

5.5
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed conditional - replaced equality check with true → KILLED

6.6
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
negated conditional → KILLED

242

1.1
Location : compatibilityDistance
Killed by : none
Substituted 3.4028235E38 with 1.0 → NO_COVERAGE

2.2
Location : compatibilityDistance
Killed by : none
replaced float return with 0.0f for net/bmahe/genetics4j/neat/NeatUtils::compatibilityDistance → NO_COVERAGE

249

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
removed call to java/util/List::size → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
removed call to java/util/List::size → KILLED

3.3
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
removed call to java/lang/Math::max → KILLED

4.4
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
replaced call to java/lang/Math::max with argument → KILLED

250

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
removed conditional - replaced comparison check with true → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
Substituted 1.0 with 2.0 → KILLED

3.3
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
removed conditional - replaced comparison check with false → KILLED

4.4
Location : compatibilityDistance
Killed by : none
changed conditional boundary → SURVIVED
Covering tests

5.5
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
negated conditional → KILLED

6.6
Location : compatibilityDistance
Killed by : none
Substituted 20 with 21 → SURVIVED Covering tests

252

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
Substituted 0 with 1 → KILLED

254

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
Substituted 0.0 with 1.0 → KILLED

255

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceWeight()]
Substituted 0 with 1 → KILLED

257

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
Substituted 0 with 1 → KILLED

258

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
Substituted 0 with 1 → KILLED

260

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed call to java/util/List::size → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
negated conditional → KILLED

3.3
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
removed conditional - replaced comparison check with true → KILLED

4.4
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed call to java/util/List::size → KILLED

5.5
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
negated conditional → KILLED

6.6
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
removed conditional - replaced comparison check with true → KILLED

7.7
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed conditional - replaced comparison check with false → KILLED

8.8
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
changed conditional boundary → KILLED

9.9
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed conditional - replaced comparison check with false → KILLED

10.10
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
changed conditional boundary → KILLED

262

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed call to java/util/List::get → KILLED

263

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed call to net/bmahe/genetics4j/neat/Connection::innovation → KILLED

265

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed call to java/util/List::get → KILLED

266

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed call to net/bmahe/genetics4j/neat/Connection::innovation → KILLED

268

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
negated conditional → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
removed conditional - replaced equality check with true → KILLED

3.3
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed conditional - replaced equality check with false → KILLED

269

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceWeight()]
replaced call to java/lang/Math::abs with argument → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed call to net/bmahe/genetics4j/neat/Connection::weight → KILLED

3.3
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed call to net/bmahe/genetics4j/neat/Connection::weight → KILLED

4.4
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceWeight()]
Replaced float addition with subtraction → KILLED

5.5
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceWeight()]
removed call to java/lang/Math::abs → KILLED

6.6
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
Replaced float subtraction with addition → KILLED

270

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceWeight()]
Removed increment 1 → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceWeight()]
Changed increment from 1 to -1 → KILLED

272

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
Changed increment from 1 to -1 → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
Removed increment 1 → KILLED

273

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
Removed increment 1 → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
Changed increment from 1 to -1 → KILLED

276

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
Removed increment 1 → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
Changed increment from 1 to -1 → KILLED

278

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
removed conditional - replaced comparison check with true → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
removed conditional - replaced comparison check with false → KILLED

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

4.4
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
negated conditional → KILLED

279

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

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
Changed increment from 1 to -1 → KILLED

281

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
Changed increment from 1 to -1 → KILLED

2.2
Location : compatibilityDistance
Killed by : none
Removed increment 1 → TIMED_OUT

286

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
Substituted 0 with 1 → KILLED

291

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
negated conditional → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
removed call to java/util/List::size → KILLED

3.3
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
removed conditional - replaced comparison check with true → KILLED

4.4
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
removed conditional - replaced comparison check with false → KILLED

5.5
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
changed conditional boundary → KILLED

292

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
Replaced integer subtraction with addition → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
Replaced integer addition with subtraction → KILLED

3.3
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
removed call to java/util/List::size → KILLED

293

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
negated conditional → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
removed call to java/util/List::size → KILLED

3.3
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
removed conditional - replaced comparison check with true → KILLED

4.4
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
removed conditional - replaced comparison check with false → KILLED

5.5
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
changed conditional boundary → KILLED

294

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
Replaced integer addition with subtraction → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
Replaced integer subtraction with addition → KILLED

3.3
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
removed call to java/util/List::size → KILLED

297

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceWeight()]
Replaced float division with multiplication → KILLED

2.2
Location : compatibilityDistance
Killed by : none
Substituted 1 with 0 → SURVIVED
Covering tests

3.3
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed call to java/lang/Math::max → KILLED

4.4
Location : compatibilityDistance
Killed by : none
replaced call to java/lang/Math::max with argument → SURVIVED Covering tests

299

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
Replaced float division with multiplication → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
replaced float return with 0.0f for net/bmahe/genetics4j/neat/NeatUtils::compatibilityDistance → KILLED

3.3
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
Replaced float addition with subtraction → KILLED

4.4
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
Replaced float multiplication with division → KILLED

5.5
Location : compatibilityDistance
Killed by : none
Replaced float division with multiplication → SURVIVED
Covering tests

6.6
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
Replaced float multiplication with division → KILLED

7.7
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
Replaced float multiplication with division → KILLED

8.8
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceWeight()]
Replaced float addition with subtraction → KILLED

310

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed call to net/bmahe/genetics4j/core/Genotype::getChromosome → KILLED

311

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed call to net/bmahe/genetics4j/neat/chromosomes/NeatChromosome::getConnections → KILLED

313

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed call to net/bmahe/genetics4j/core/Genotype::getChromosome → KILLED

314

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
removed call to net/bmahe/genetics4j/neat/chromosomes/NeatChromosome::getConnections → KILLED

316

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceSame()]
replaced call to net/bmahe/genetics4j/neat/NeatUtils::compatibilityDistance with argument → KILLED

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
removed call to net/bmahe/genetics4j/neat/NeatUtils::compatibilityDistance → KILLED

3.3
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
replaced float return with 0.0f for net/bmahe/genetics4j/neat/NeatUtils::compatibilityDistance → KILLED

328

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to java/util/ArrayList::<init> → KILLED

331

1.1
Location : speciate
Killed by : none
removed call to net/bmahe/genetics4j/neat/Species::getId → NO_COVERAGE

332

1.1
Location : speciate
Killed by : none
removed call to net/bmahe/genetics4j/neat/Species::getNumMembers → NO_COVERAGE

333

1.1
Location : speciate
Killed by : none
removed conditional - replaced comparison check with true → NO_COVERAGE

2.2
Location : speciate
Killed by : none
changed conditional boundary → NO_COVERAGE

3.3
Location : speciate
Killed by : none
negated conditional → NO_COVERAGE

4.4
Location : speciate
Killed by : none
removed conditional - replaced comparison check with false → NO_COVERAGE

334

1.1
Location : speciate
Killed by : none
replaced call to java/util/random/RandomGenerator::nextInt with argument → NO_COVERAGE

2.2
Location : speciate
Killed by : none
removed call to java/util/random/RandomGenerator::nextInt → NO_COVERAGE

335

1.1
Location : speciate
Killed by : none
removed call to net/bmahe/genetics4j/neat/Species::getMembers → NO_COVERAGE

2.2
Location : speciate
Killed by : none
removed call to java/util/List::of → NO_COVERAGE

336

1.1
Location : speciate
Killed by : none
removed call to java/util/List::get → NO_COVERAGE

337

1.1
Location : speciate
Killed by : none
removed call to net/bmahe/genetics4j/neat/Species::<init> → NO_COVERAGE

338

1.1
Location : speciate
Killed by : none
removed call to java/util/List::add → NO_COVERAGE

344

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
Substituted 0 with 1 → KILLED

345

1.1
Location : speciate
Killed by : none
Substituted 0 with 1 → SURVIVED
Covering tests

346

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

2.2
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
changed conditional boundary → KILLED

4.4
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed conditional - replaced comparison check with false → KILLED

5.5
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
negated conditional → KILLED

6.6
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
negated conditional → KILLED

7.7
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to java/util/List::size → KILLED

8.8
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed conditional - replaced comparison check with true → KILLED

348

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to java/util/List::get → KILLED

350

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to net/bmahe/genetics4j/neat/Species::getAncestors → KILLED

351

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to java/util/List::stream → KILLED

352

1.1
Location : speciate
Killed by : none
removed call to java/util/stream/Stream::anyMatch → SURVIVED
Covering tests

2.2
Location : lambda$speciate$5
Killed by : none
replaced boolean return with true for net/bmahe/genetics4j/neat/NeatUtils::lambda$speciate$5 → NO_COVERAGE

3.3
Location : lambda$speciate$5
Killed by : none
removed call to java/util/function/BiPredicate::test → NO_COVERAGE

4.4
Location : lambda$speciate$5
Killed by : none
replaced boolean return with false for net/bmahe/genetics4j/neat/NeatUtils::lambda$speciate$5 → NO_COVERAGE

354

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to net/bmahe/genetics4j/neat/Species::getMembers → KILLED

355

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to java/util/List::stream → KILLED

356

1.1
Location : lambda$speciate$6
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
replaced boolean return with false for net/bmahe/genetics4j/neat/NeatUtils::lambda$speciate$6 → KILLED

2.2
Location : lambda$speciate$6
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to java/util/function/BiPredicate::test → KILLED

3.3
Location : lambda$speciate$6
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
replaced boolean return with true for net/bmahe/genetics4j/neat/NeatUtils::lambda$speciate$6 → KILLED

4.4
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to java/util/stream/Stream::anyMatch → KILLED

358

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
negated conditional → KILLED

2.2
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
negated conditional → KILLED

3.3
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed conditional - replaced equality check with true → KILLED

4.4
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed conditional - replaced equality check with false → KILLED

5.5
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed conditional - replaced equality check with false → KILLED

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

359

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to net/bmahe/genetics4j/neat/Species::addMember → KILLED

360

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

362

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

2.2
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
Changed increment from 1 to -1 → KILLED

366

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed conditional - replaced equality check with true → KILLED

2.2
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
negated conditional → KILLED

367

1.1
Location : speciate
Killed by : none
removed call to net/bmahe/genetics4j/neat/SpeciesIdGenerator::computeNewId → SURVIVED
Covering tests

368

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to java/util/List::of → KILLED

2.2
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to net/bmahe/genetics4j/neat/Species::<init> → KILLED

369

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to net/bmahe/genetics4j/neat/Species::addMember → KILLED

370

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to java/util/List::add → KILLED

374

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
replaced return value with Collections.emptyList for net/bmahe/genetics4j/neat/NeatUtils::speciate → KILLED

2.2
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to java/util/List::stream → KILLED

375

1.1
Location : lambda$speciate$7
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to net/bmahe/genetics4j/neat/Species::getNumMembers → KILLED

2.2
Location : lambda$speciate$7
Killed by : none
replaced boolean return with true for net/bmahe/genetics4j/neat/NeatUtils::lambda$speciate$7 → SURVIVED
Covering tests

3.3
Location : lambda$speciate$7
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
negated conditional → KILLED

4.4
Location : lambda$speciate$7
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
Substituted 1 with 0 → KILLED

5.5
Location : speciate
Killed by : none
replaced call to java/util/stream/Stream::filter with receiver → SURVIVED Covering tests

6.6
Location : lambda$speciate$7
Killed by : none
Substituted 0 with 1 → NO_COVERAGE

7.7
Location : lambda$speciate$7
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed conditional - replaced comparison check with false → KILLED

8.8
Location : lambda$speciate$7
Killed by : none
changed conditional boundary → SURVIVED Covering tests

9.9
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to java/util/stream/Stream::filter → KILLED

10.10
Location : lambda$speciate$7
Killed by : none
removed conditional - replaced comparison check with true → SURVIVED Covering tests

376

1.1
Location : speciate
Killed by : net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.selection.NeatSelectorImplTest]/[method:select()]
removed call to java/util/stream/Stream::toList → KILLED

Active mutators

Tests examined


Report generated by PIT 1.19.6