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

Mutations

90

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

92

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

93

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

95

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

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

99

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

100

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

102

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

103

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

105

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

107

1.1
Location : computeDeadNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeDeadNodes()]
removed call to java/util/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

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

109

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

114

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

120

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

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

123

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

125

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

126

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

128

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

129

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

135

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

141

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

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

144

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

146

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

147

1.1
Location : computeBackwardLinks
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:computeBackwardLinks()]
removed call to java/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

149

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

150

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

155

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

161

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

163

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

165

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

166

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

168

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

169

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

170

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

173

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

176

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

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

186

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

189

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

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

194

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

196

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

197

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

198

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

203

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

205

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

207

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

208

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

209

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

220

1.1
Location : partitionLayersNodes
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:partitionLayersNodes()]
removed call to java/util/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

222

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

223

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

225

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

226

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

230

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

231

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

232

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

234

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

236

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

238

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

243

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 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:compatibilityDistanceDisjointsGenes()]
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:compatibilityDistanceDisjointsGenes()]
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:compatibilityDistanceDisjointsGenes()]
negated conditional → KILLED

244

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

251

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

252

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:compatibilityDistanceDisjointsGenes()]
negated conditional → KILLED

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

254

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

256

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

257

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

259

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

260

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

262

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()]
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:compatibilityDistanceDisjointsGenes()]
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:compatibilityDistanceDisjointsGenes()]
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:compatibilityDistanceDisjointsGenes()]
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:compatibilityDistanceDisjointsGenes()]
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

264

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

265

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 net/bmahe/genetics4j/neat/Connection::innovation → KILLED

267

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

268

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 net/bmahe/genetics4j/neat/Connection::innovation → KILLED

270

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
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:compatibilityDistanceDisjointsGenes()]
removed conditional - replaced equality check with false → KILLED

271

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

272

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

274

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

275

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

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

278

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

280

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

281

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

283

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

288

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

292

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

293

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

294

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

295

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

298

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:compatibilityDistanceDisjointsGenes()]
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

300

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:compatibilityDistanceDisjointsGenes()]
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:compatibilityDistanceDisjointsGenes()]
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:compatibilityDistanceDisjointsGenes()]
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:compatibilityDistanceDisjointsGenes()]
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

311

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 net/bmahe/genetics4j/core/Genotype::getChromosome → KILLED

312

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 net/bmahe/genetics4j/neat/chromosomes/NeatChromosome::getConnections → KILLED

314

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 net/bmahe/genetics4j/core/Genotype::getChromosome → KILLED

315

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 net/bmahe/genetics4j/neat/chromosomes/NeatChromosome::getConnections → KILLED

317

1.1
Location : compatibilityDistance
Killed by : net.bmahe.genetics4j.neat.NeatUtilsTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.NeatUtilsTest]/[method:compatibilityDistanceDisjointsGenes()]
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:compatibilityDistanceDisjointsGenes()]
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:compatibilityDistanceDisjointsGenes()]
replaced float return with 0.0f for net/bmahe/genetics4j/neat/NeatUtils::compatibilityDistance → KILLED

329

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

332

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

333

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

334

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

335

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

336

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

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

3.3
Location : speciate
Killed by : none
removed call to net/bmahe/genetics4j/neat/Species::getMembers → 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 : 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

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 comparison check with true → 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

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

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 : 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()]
changed conditional boundary → 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 false → 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 : lambda$speciate$5
Killed by : none
replaced boolean return with true for net/bmahe/genetics4j/neat/NeatUtils::lambda$speciate$5 → NO_COVERAGE

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

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

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

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

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()]
replaced boolean return with false for net/bmahe/genetics4j/neat/NeatUtils::lambda$speciate$6 → 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()]
removed call to java/util/function/BiPredicate::test → KILLED

4.4
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

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()]
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

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 : none
removed conditional - replaced equality check with true → SURVIVED
Covering tests

6.6
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

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()]
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 false → 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 net/bmahe/genetics4j/neat/Species::<init> → 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::of → 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()]
removed call to java/util/stream/Stream::toList → KILLED

2.2
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

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 call to java/util/stream/Stream::filter → KILLED

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

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 call to java/util/List::stream → KILLED

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

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()]
negated conditional → KILLED

8.8
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

9.9
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

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

11.11
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

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

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

Active mutators

Tests examined


Report generated by PIT 1.20.3