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. These
28
 * utilities support the NEAT algorithm's key features of topology innovation, structural mutation, and species-based
29
 * 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
34
 * detection</li>
35
 * <li><strong>Compatibility distance</strong>: Measuring genetic similarity between neural networks for speciation</li>
36
 * <li><strong>Speciation management</strong>: Organizing populations into species based on genetic similarity</li>
37
 * <li><strong>Structural analysis</strong>: Analyzing network connectivity patterns and structural properties</li>
38
 * </ul>
39
 * 
40
 * <p>NEAT algorithm integration:
41
 * <ul>
42
 * <li><strong>Innovation tracking</strong>: Support for historical marking and innovation numbers</li>
43
 * <li><strong>Structural mutations</strong>: Utilities for add-node and add-connection operations</li>
44
 * <li><strong>Network evaluation</strong>: Layer-based network evaluation ordering</li>
45
 * <li><strong>Population diversity</strong>: Species-based diversity maintenance</li>
46
 * </ul>
47
 * 
48
 * <p>Core NEAT concepts implemented:
49
 * <ul>
50
 * <li><strong>Genetic similarity</strong>: Compatibility distance based on excess, disjoint, and weight
51
 * differences</li>
52
 * <li><strong>Topological innovation</strong>: Structural changes tracked through innovation numbers</li>
53
 * <li><strong>Speciation</strong>: Dynamic species formation based on genetic distance thresholds</li>
54
 * <li><strong>Network evaluation</strong>: Feed-forward evaluation through computed network layers</li>
55
 * </ul>
56
 * 
57
 * <p>Algorithmic foundations:
58
 * <ul>
59
 * <li><strong>Graph algorithms</strong>: Topological sorting, connectivity analysis, and layer computation</li>
60
 * <li><strong>Genetic distance metrics</strong>: NEAT-specific compatibility distance calculation</li>
61
 * <li><strong>Population clustering</strong>: Species formation and maintenance algorithms</li>
62
 * <li><strong>Network optimization</strong>: Dead node removal and structural simplification</li>
63
 * </ul>
64
 * 
65
 * @see NeatChromosome
66
 * @see Connection
67
 * @see Species
68
 * @see InnovationManager
69
 */
70
public class NeatUtils {
71
72
	private NeatUtils() {
73
	}
74
75
	/**
76
	 * Working backward from the output nodes, we identify the nodes that did not get visited as dead nodes
77
	 * 
78
	 * @param connections
79
	 * @param forwardConnections
80
	 * @param backwardConnections
81
	 * @param outputNodeIndices
82
	 * @return
83
	 */
84
	public static Set<Integer> computeDeadNodes(final List<Connection> connections,
85
			final Map<Integer, Set<Integer>> forwardConnections, final Map<Integer, Set<Integer>> backwardConnections,
86
			final Set<Integer> outputNodeIndices) {
87
		Validate.notNull(connections);
88
89 1 1. computeDeadNodes : removed call to java/util/HashSet::<init> → KILLED
		final Set<Integer> deadNodes = new HashSet<>();
90
		for (final Connection connection : connections) {
91 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());
92 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());
93
		}
94 1 1. computeDeadNodes : removed call to java/util/Set::removeAll → SURVIVED
		deadNodes.removeAll(outputNodeIndices);
95
96 1 1. computeDeadNodes : removed call to java/util/HashSet::<init> → KILLED
		final Set<Integer> visited = new HashSet<>();
97 1 1. computeDeadNodes : removed call to java/util/ArrayDeque::<init> → KILLED
		final Deque<Integer> toVisit = new ArrayDeque<>(outputNodeIndices);
98 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) {
99 1 1. computeDeadNodes : removed call to java/util/Deque::poll → TIMED_OUT
			final Integer currentNode = toVisit.poll();
100
101 1 1. computeDeadNodes : removed call to java/util/Set::remove → KILLED
			deadNodes.remove(currentNode);
102 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) {
103
104 1 1. computeDeadNodes : removed call to java/util/Set::add → SURVIVED
				visited.add(currentNode);
105
106 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());
107 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) {
108 1 1. computeDeadNodes : removed call to java/util/Deque::addAll → KILLED
					toVisit.addAll(next);
109
				}
110
			}
111
		}
112
113 1 1. computeDeadNodes : replaced return value with Collections.emptySet for net/bmahe/genetics4j/neat/NeatUtils::computeDeadNodes → KILLED
		return deadNodes;
114
	}
115
116
	public static Map<Integer, Set<Integer>> computeForwardLinks(final List<Connection> connections) {
117
		Validate.notNull(connections);
118
119 1 1. computeForwardLinks : removed call to java/util/HashMap::<init> → KILLED
		final Map<Integer, Set<Integer>> forwardConnections = new HashMap<>();
120
		for (final Connection connection : connections) {
121 1 1. computeForwardLinks : removed call to net/bmahe/genetics4j/neat/Connection::fromNodeIndex → KILLED
			final var fromNodeIndex = connection.fromNodeIndex();
122 1 1. computeForwardLinks : removed call to net/bmahe/genetics4j/neat/Connection::toNodeIndex → KILLED
			final var toNodeIndex = connection.toNodeIndex();
123
124 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()) {
125 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<>());
126
127 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) {
128 2 1. computeForwardLinks : removed call to java/lang/String::valueOf → SURVIVED
2. computeForwardLinks : removed call to java/lang/IllegalArgumentException::<init> → KILLED
					throw new IllegalArgumentException(
129
							"Found duplicate entries for nodes defined in connection " + connection);
130
				}
131
			}
132
		}
133
134 1 1. computeForwardLinks : replaced return value with Collections.emptyMap for net/bmahe/genetics4j/neat/NeatUtils::computeForwardLinks → KILLED
		return forwardConnections;
135
	}
136
137
	public static Map<Integer, Set<Integer>> computeBackwardLinks(final List<Connection> connections) {
138
		Validate.notNull(connections);
139
140 1 1. computeBackwardLinks : removed call to java/util/HashMap::<init> → KILLED
		final Map<Integer, Set<Integer>> backwardConnections = new HashMap<>();
141
		for (final Connection connection : connections) {
142 1 1. computeBackwardLinks : removed call to net/bmahe/genetics4j/neat/Connection::fromNodeIndex → KILLED
			final var fromNodeIndex = connection.fromNodeIndex();
143 1 1. computeBackwardLinks : removed call to net/bmahe/genetics4j/neat/Connection::toNodeIndex → KILLED
			final var toNodeIndex = connection.toNodeIndex();
144
145 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()) {
146 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<>());
147
148 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) {
149 2 1. computeBackwardLinks : removed call to java/lang/String::valueOf → SURVIVED
2. computeBackwardLinks : removed call to java/lang/IllegalArgumentException::<init> → KILLED
					throw new IllegalArgumentException(
150
							"Found duplicate entries for nodes defined in connection " + connection);
151
				}
152
			}
153
		}
154 1 1. computeBackwardLinks : replaced return value with Collections.emptyMap for net/bmahe/genetics4j/neat/NeatUtils::computeBackwardLinks → KILLED
		return backwardConnections;
155
	}
156
157
	public static Map<Integer, Set<Connection>> computeBackwardConnections(final List<Connection> connections) {
158
		Validate.notNull(connections);
159
160 1 1. computeBackwardConnections : removed call to java/util/HashMap::<init> → KILLED
		final Map<Integer, Set<Connection>> backwardConnections = new HashMap<>();
161
		for (final Connection connection : connections) {
162 1 1. computeBackwardConnections : removed call to net/bmahe/genetics4j/neat/Connection::toNodeIndex → KILLED
			final var toNodeIndex = connection.toNodeIndex();
163
164 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()) {
165 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<>());
166
167 1 1. computeBackwardConnections : removed call to java/util/Set::stream → KILLED
				if (fromConnections.stream()
168 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())) {
169 2 1. computeBackwardConnections : removed call to java/lang/String::valueOf → SURVIVED
2. computeBackwardConnections : removed call to java/lang/IllegalArgumentException::<init> → KILLED
					throw new IllegalArgumentException(
170
							"Found duplicate entries for nodes defined in connection " + connection);
171
				}
172 1 1. computeBackwardConnections : removed call to java/util/Set::add → KILLED
				fromConnections.add(connection);
173
			}
174
		}
175 1 1. computeBackwardConnections : replaced return value with Collections.emptyMap for net/bmahe/genetics4j/neat/NeatUtils::computeBackwardConnections → KILLED
		return backwardConnections;
176
	}
177
178
	public static List<List<Integer>> partitionLayersNodes(final Set<Integer> inputNodeIndices,
179
			final Set<Integer> outputNodeIndices, final List<Connection> connections) {
180
		Validate.isTrue(CollectionUtils.isNotEmpty(inputNodeIndices));
181
		Validate.isTrue(CollectionUtils.isNotEmpty(outputNodeIndices));
182
		Validate.isTrue(CollectionUtils.isNotEmpty(connections));
183
184 1 1. partitionLayersNodes : removed call to net/bmahe/genetics4j/neat/NeatUtils::computeForwardLinks → KILLED
		final Map<Integer, Set<Integer>> forwardConnections = computeForwardLinks(connections);
185 1 1. partitionLayersNodes : removed call to net/bmahe/genetics4j/neat/NeatUtils::computeBackwardLinks → KILLED
		final Map<Integer, Set<Integer>> backwardConnections = computeBackwardLinks(connections);
186
187
		// Is it useful? If it's connected to the input node, it's not dead
188 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);
189
190 1 1. partitionLayersNodes : removed call to java/util/HashSet::<init> → KILLED
		final Set<Integer> processedSet = new HashSet<>();
191 1 1. partitionLayersNodes : removed call to java/util/ArrayList::<init> → KILLED
		final List<List<Integer>> layers = new ArrayList<>();
192 1 1. partitionLayersNodes : removed call to java/util/Set::addAll → KILLED
		processedSet.addAll(inputNodeIndices);
193 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));
194
195 1 1. partitionLayersNodes : Substituted 0 with 1 → KILLED
		boolean done = false;
196 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) {
197 1 1. partitionLayersNodes : removed call to java/util/ArrayList::<init> → KILLED
			final List<Integer> layer = new ArrayList<>();
198
199 1 1. partitionLayersNodes : removed call to java/util/HashSet::<init> → KILLED
			final Set<Integer> layerCandidates = new HashSet<>();
200 1 1. partitionLayersNodes : removed call to java/util/Map::entrySet → KILLED
			for (final Entry<Integer, Set<Integer>> entry : forwardConnections.entrySet()) {
201 1 1. partitionLayersNodes : removed call to java/util/Map$Entry::getKey → KILLED
				final var key = entry.getKey();
202 1 1. partitionLayersNodes : removed call to java/util/Map$Entry::getValue → KILLED
				final var values = entry.getValue();
203
204 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) {
205
					for (final Integer candidate : values) {
206 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
207 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) {
208 1 1. partitionLayersNodes : removed call to java/util/Set::add → KILLED
							layerCandidates.add(candidate);
209
						}
210
					}
211
				}
212
			}
213
214
			/**
215
			 * We need to ensure that all the nodes pointed at the candidate are either a dead node (and we don't care) or
216
			 * is already in the processedSet
217
			 */
218
			for (final Integer candidate : layerCandidates) {
219 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());
220
221 1 1. partitionLayersNodes : removed call to java/util/Set::stream → KILLED
				final boolean allBackwardInEndSet = backwardLinks.stream()
222 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));
223
224 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) {
225 1 1. partitionLayersNodes : removed call to java/util/List::add → KILLED
					layer.add(candidate);
226
				}
227
			}
228
229 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) {
230 1 1. partitionLayersNodes : Substituted 1 with 0 → TIMED_OUT
				done = true;
231 1 1. partitionLayersNodes : removed call to java/util/List::addAll → KILLED
				layer.addAll(outputNodeIndices);
232
			} else {
233 1 1. partitionLayersNodes : removed call to java/util/Set::addAll → TIMED_OUT
				processedSet.addAll(layer);
234
			}
235 1 1. partitionLayersNodes : removed call to java/util/List::add → KILLED
			layers.add(layer);
236
		}
237 1 1. partitionLayersNodes : replaced return value with Collections.emptyList for net/bmahe/genetics4j/neat/NeatUtils::partitionLayersNodes → KILLED
		return layers;
238
	}
239
240
	public static float compatibilityDistance(final List<Connection> firstConnections,
241
			final List<Connection> secondConnections, final float c1, final float c2, final float c3) {
242 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) {
243 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;
244
		}
245
246
		/**
247
		 * Both connections are expected to already be sorted
248
		 */
249
250 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());
251 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;
252
253 1 1. compatibilityDistance : Substituted 0 with 1 → KILLED
		int disjointGenes = 0;
254
255 1 1. compatibilityDistance : Substituted 0.0 with 1.0 → KILLED
		float sumWeightDifference = 0;
256 1 1. compatibilityDistance : Substituted 0 with 1 → KILLED
		int numMatchingGenes = 0;
257
258 1 1. compatibilityDistance : Substituted 0 with 1 → KILLED
		int indexFirst = 0;
259 1 1. compatibilityDistance : Substituted 0 with 1 → KILLED
		int indexSecond = 0;
260
261 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()) {
262
263 1 1. compatibilityDistance : removed call to java/util/List::get → KILLED
			final Connection firstConnection = firstConnections.get(indexFirst);
264 1 1. compatibilityDistance : removed call to net/bmahe/genetics4j/neat/Connection::innovation → KILLED
			final int firstInnovation = firstConnection.innovation();
265
266 1 1. compatibilityDistance : removed call to java/util/List::get → KILLED
			final Connection secondConnection = secondConnections.get(indexSecond);
267 1 1. compatibilityDistance : removed call to net/bmahe/genetics4j/neat/Connection::innovation → KILLED
			final int secondInnovation = secondConnection.innovation();
268
269 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) {
270 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());
271 2 1. compatibilityDistance : Removed increment 1 → KILLED
2. compatibilityDistance : Changed increment from 1 to -1 → KILLED
				numMatchingGenes++;
272
273 2 1. compatibilityDistance : Changed increment from 1 to -1 → KILLED
2. compatibilityDistance : Removed increment 1 → KILLED
				indexFirst++;
274 2 1. compatibilityDistance : Removed increment 1 → KILLED
2. compatibilityDistance : Changed increment from 1 to -1 → KILLED
				indexSecond++;
275
			} else {
276
277 2 1. compatibilityDistance : Removed increment 1 → KILLED
2. compatibilityDistance : Changed increment from 1 to -1 → KILLED
				disjointGenes++;
278
279 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) {
280 2 1. compatibilityDistance : Removed increment 1 → TIMED_OUT
2. compatibilityDistance : Changed increment from 1 to -1 → KILLED
					indexFirst++;
281
				} else {
282 2 1. compatibilityDistance : Removed increment 1 → TIMED_OUT
2. compatibilityDistance : Changed increment from 1 to -1 → KILLED
					indexSecond++;
283
				}
284
			}
285
		}
286
287 1 1. compatibilityDistance : Substituted 0 with 1 → KILLED
		int excessGenes = 0;
288
		/**
289
		 * We have consumed all elements from secondConnections and thus have their 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

89

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

91

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

92

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

94

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

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/HashSet::<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/ArrayDeque::<init> → KILLED

98

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

99

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

101

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

102

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

104

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

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::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

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/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

108

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

113

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

119

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

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::fromNodeIndex → KILLED

122

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

124

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

125

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

127

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

128

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

134

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

140

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

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::fromNodeIndex → KILLED

143

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

145

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

146

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

148

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

149

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

154

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

160

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

162

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

164

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

165

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

167

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

168

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

169

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

172

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

175

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

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::computeForwardLinks → KILLED

185

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

188

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

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/HashSet::<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/ArrayList::<init> → 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/Set::addAll → KILLED

193

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

195

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

196

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

197

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

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/HashSet::<init> → 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::entrySet → 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::getKey → KILLED

202

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

204

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

206

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

207

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

208

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

219

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

221

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

222

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

224

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

225

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

229

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

230

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

231

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

233

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

235

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

237

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

242

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

243

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

250

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

251

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

253

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

255

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

256

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

258

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

259

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

261

1.1
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

2.2
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
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

263

1.1
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::get → KILLED

264

1.1
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/Connection::innovation → KILLED

266

1.1
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::get → KILLED

267

1.1
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/Connection::innovation → KILLED

269

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: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:compatibilityDistanceExcessGenes()]
removed conditional - replaced equality check with false → KILLED

270

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:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
Replaced float subtraction with addition → KILLED

271

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

273

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
Removed increment 1 → KILLED

274

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
Changed increment from 1 to -1 → KILLED

277

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

279

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

280

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

282

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

287

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
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:compatibilityDistanceExcessGenes()]
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.20.3