ContiguousNeatNodeLayout.java

1
package net.bmahe.genetics4j.neat.spec;
2
3
import java.util.List;
4
import java.util.Objects;
5
import java.util.stream.IntStream;
6
7
import org.apache.commons.lang3.Validate;
8
9
/**
10
 * Node layout using the traditional contiguous NEAT external IDs.
11
 *
12
 * <p>Inputs occupy {@code [0, numInputs)} and outputs occupy {@code [numInputs, numInputs + numOutputs)}. The
13
 * configured
14
 * hidden-node range must not overlap those external IDs.
15
 */
16
public class ContiguousNeatNodeLayout implements NeatNodeLayout {
17
18
	private final int numInputs;
19
	private final int numOutputs;
20
	private final long hiddenNodeIdStartInclusive;
21
	private final long hiddenNodeIdEndExclusive;
22
23
	/**
24
	 * Creates a contiguous node layout.
25
	 *
26
	 * @param _numInputs                  number of input nodes; must be positive
27
	 * @param _numOutputs                 number of output nodes; must be positive
28
	 * @param _hiddenNodeIdStartInclusive inclusive hidden-node range start
29
	 * @param _hiddenNodeIdEndExclusive   exclusive hidden-node range end
30
	 * @throws IllegalArgumentException if the counts or hidden-node range are invalid, or if the ranges overlap
31
	 */
32
	public ContiguousNeatNodeLayout(final int _numInputs,
33
			final int _numOutputs,
34
			final long _hiddenNodeIdStartInclusive,
35
			final long _hiddenNodeIdEndExclusive) {
36
		Validate.isTrue(_numInputs > 0, "Number of inputs must be positive");
37
		Validate.isTrue(_numOutputs > 0, "Number of outputs must be positive");
38 1 1. <init> : Replaced long addition with subtraction → SURVIVED
		final long externalEnd = (long) _numInputs + _numOutputs;
39
		Validate.isTrue(externalEnd <= Integer.MAX_VALUE, "External node IDs exceed the int domain");
40 2 1. <init> : removed call to net/bmahe/genetics4j/neat/spec/NeatNodeLayoutValidation::validate → SURVIVED
2. <init> : Substituted 0 with 1 → KILLED
		NeatNodeLayoutValidation.validate(
41 4 1. <init> : removed call to java/util/stream/IntStream::boxed → KILLED
2. <init> : removed call to java/util/stream/Stream::toList → KILLED
3. <init> : Replaced integer addition with subtraction → KILLED
4. <init> : removed call to java/util/stream/IntStream::range → KILLED
				IntStream.range(0, _numInputs).boxed().toList(),
42 3 1. <init> : removed call to java/util/stream/IntStream::range → KILLED
2. <init> : removed call to java/util/stream/IntStream::boxed → KILLED
3. <init> : removed call to java/util/stream/Stream::toList → KILLED
					IntStream.range(_numInputs, _numInputs + _numOutputs).boxed().toList(),
43
					_hiddenNodeIdStartInclusive,
44
					_hiddenNodeIdEndExclusive);
45
46 1 1. <init> : Removed assignment to member variable numInputs → KILLED
		numInputs = _numInputs;
47 1 1. <init> : Removed assignment to member variable numOutputs → KILLED
		numOutputs = _numOutputs;
48 1 1. <init> : Removed assignment to member variable hiddenNodeIdStartInclusive → KILLED
		hiddenNodeIdStartInclusive = _hiddenNodeIdStartInclusive;
49 1 1. <init> : Removed assignment to member variable hiddenNodeIdEndExclusive → KILLED
		hiddenNodeIdEndExclusive = _hiddenNodeIdEndExclusive;
50
	}
51
52
	@Override
53
	public int numInputs() {
54 1 1. numInputs : replaced int return with 0 for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::numInputs → KILLED
		return numInputs;
55
	}
56
57
	@Override
58
	public int numOutputs() {
59 1 1. numOutputs : replaced int return with 0 for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::numOutputs → KILLED
		return numOutputs;
60
	}
61
62
	@Override
63
	public long hiddenNodeIdStartInclusive() {
64 1 1. hiddenNodeIdStartInclusive : replaced long return with 0 for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::hiddenNodeIdStartInclusive → KILLED
		return hiddenNodeIdStartInclusive;
65
	}
66
67
	@Override
68
	public long hiddenNodeIdEndExclusive() {
69 1 1. hiddenNodeIdEndExclusive : replaced long return with 0 for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::hiddenNodeIdEndExclusive → KILLED
		return hiddenNodeIdEndExclusive;
70
	}
71
72
	@Override
73
	public List<Integer> inputNodeIds() {
74 5 1. inputNodeIds : removed call to java/util/stream/Stream::toList → KILLED
2. inputNodeIds : Substituted 0 with 1 → KILLED
3. inputNodeIds : removed call to java/util/stream/IntStream::range → KILLED
4. inputNodeIds : replaced return value with Collections.emptyList for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::inputNodeIds → KILLED
5. inputNodeIds : removed call to java/util/stream/IntStream::boxed → KILLED
		return IntStream.range(0, numInputs).boxed().toList();
75
	}
76
77
	@Override
78
	public List<Integer> outputNodeIds() {
79 5 1. outputNodeIds : removed call to java/util/stream/IntStream::range → KILLED
2. outputNodeIds : replaced return value with Collections.emptyList for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::outputNodeIds → KILLED
3. outputNodeIds : Replaced integer addition with subtraction → KILLED
4. outputNodeIds : removed call to java/util/stream/IntStream::boxed → KILLED
5. outputNodeIds : removed call to java/util/stream/Stream::toList → KILLED
		return IntStream.range(numInputs, numInputs + numOutputs).boxed().toList();
80
	}
81
82
	@Override
83
	public boolean isInput(final int nodeId) {
84 11 1. isInput : changed conditional boundary → SURVIVED
2. isInput : removed conditional - replaced comparison check with true → SURVIVED
3. isInput : removed conditional - replaced comparison check with false → KILLED
4. isInput : changed conditional boundary → KILLED
5. isInput : replaced boolean return with true for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::isInput → KILLED
6. isInput : removed conditional - replaced comparison check with false → KILLED
7. isInput : Substituted 0 with 1 → KILLED
8. isInput : Substituted 1 with 0 → KILLED
9. isInput : negated conditional → KILLED
10. isInput : negated conditional → KILLED
11. isInput : removed conditional - replaced comparison check with true → KILLED
		return nodeId >= 0 && nodeId < numInputs;
85
	}
86
87
	@Override
88
	public boolean isOutput(final int nodeId) {
89 12 1. isOutput : removed conditional - replaced comparison check with true → SURVIVED
2. isOutput : changed conditional boundary → KILLED
3. isOutput : removed conditional - replaced comparison check with false → KILLED
4. isOutput : removed conditional - replaced comparison check with false → KILLED
5. isOutput : changed conditional boundary → KILLED
6. isOutput : Substituted 1 with 0 → KILLED
7. isOutput : Replaced integer addition with subtraction → KILLED
8. isOutput : removed conditional - replaced comparison check with true → KILLED
9. isOutput : negated conditional → KILLED
10. isOutput : Substituted 0 with 1 → KILLED
11. isOutput : negated conditional → KILLED
12. isOutput : replaced boolean return with true for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::isOutput → KILLED
		return nodeId >= numInputs && nodeId < numInputs + numOutputs;
90
	}
91
92
	@Override
93
	public int hashCode() {
94
		return Objects.hash(hiddenNodeIdEndExclusive, hiddenNodeIdStartInclusive, numInputs, numOutputs);
95
	}
96
97
	@Override
98
	public boolean equals(final Object obj) {
99 2 1. equals : negated conditional → KILLED
2. equals : removed conditional - replaced equality check with true → KILLED
		if (this == obj) {
100 2 1. equals : replaced boolean return with false for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::equals → KILLED
2. equals : Substituted 1 with 0 → KILLED
			return true;
101
		}
102 3 1. equals : removed conditional - replaced equality check with true → SURVIVED
2. equals : negated conditional → KILLED
3. equals : removed conditional - replaced equality check with false → KILLED
		if (obj instanceof ContiguousNeatNodeLayout other) {
103 15 1. equals : removed conditional - replaced equality check with true → SURVIVED
2. equals : removed conditional - replaced equality check with true → SURVIVED
3. equals : removed conditional - replaced equality check with true → SURVIVED
4. equals : removed conditional - replaced equality check with true → SURVIVED
5. equals : replaced boolean return with true for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::equals → KILLED
6. equals : removed conditional - replaced equality check with false → KILLED
7. equals : removed conditional - replaced equality check with false → KILLED
8. equals : negated conditional → KILLED
9. equals : removed conditional - replaced equality check with false → KILLED
10. equals : removed conditional - replaced equality check with false → KILLED
11. equals : negated conditional → KILLED
12. equals : negated conditional → KILLED
13. equals : Substituted 0 with 1 → KILLED
14. equals : Substituted 1 with 0 → KILLED
15. equals : negated conditional → KILLED
			return hiddenNodeIdEndExclusive == other.hiddenNodeIdEndExclusive
104
					&& hiddenNodeIdStartInclusive == other.hiddenNodeIdStartInclusive && numInputs == other.numInputs
105
					&& numOutputs == other.numOutputs;
106
		}
107 2 1. equals : Substituted 0 with 1 → NO_COVERAGE
2. equals : replaced boolean return with true for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::equals → NO_COVERAGE
		return false;
108
	}
109
110
	@Override
111
	public String toString() {
112 1 1. toString : replaced return value with "" for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::toString → SURVIVED
		return "ContiguousNeatNodeLayout [numInputs=" + numInputs + ", numOutputs=" + numOutputs
113
				+ ", hiddenNodeIdStartInclusive=" + hiddenNodeIdStartInclusive + ", hiddenNodeIdEndExclusive="
114
				+ hiddenNodeIdEndExclusive + "]";
115
	}
116
}

Mutations

38

1.1
Location : <init>
Killed by : none
Replaced long addition with subtraction → SURVIVED
Covering tests

40

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

2.2
Location : <init>
Killed by : none
removed call to net/bmahe/genetics4j/neat/spec/NeatNodeLayoutValidation::validate → SURVIVED
Covering tests

41

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

2.2
Location : <init>
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:minWeightGreaterThanMaxWeight()]
removed call to java/util/stream/Stream::toList → KILLED

3.3
Location : <init>
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:nullConnections()]
Replaced integer addition with subtraction → KILLED

4.4
Location : <init>
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:minWeightGreaterThanMaxWeight()]
removed call to java/util/stream/IntStream::range → KILLED

42

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:minWeightGreaterThanMaxWeight()]
removed call to java/util/stream/IntStream::range → KILLED

2.2
Location : <init>
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:minWeightGreaterThanMaxWeight()]
removed call to java/util/stream/IntStream::boxed → KILLED

3.3
Location : <init>
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:minWeightGreaterThanMaxWeight()]
removed call to java/util/stream/Stream::toList → KILLED

46

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
Removed assignment to member variable numInputs → KILLED

47

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
Removed assignment to member variable numOutputs → KILLED

48

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
Removed assignment to member variable hiddenNodeIdStartInclusive → KILLED

49

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
Removed assignment to member variable hiddenNodeIdEndExclusive → KILLED

54

1.1
Location : numInputs
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:simple()]
replaced int return with 0 for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::numInputs → KILLED

59

1.1
Location : numOutputs
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:simple()]
replaced int return with 0 for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::numOutputs → KILLED

64

1.1
Location : hiddenNodeIdStartInclusive
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
replaced long return with 0 for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::hiddenNodeIdStartInclusive → KILLED

69

1.1
Location : hiddenNodeIdEndExclusive
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
replaced long return with 0 for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::hiddenNodeIdEndExclusive → KILLED

74

1.1
Location : inputNodeIds
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
removed call to java/util/stream/Stream::toList → KILLED

2.2
Location : inputNodeIds
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
Substituted 0 with 1 → KILLED

3.3
Location : inputNodeIds
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
removed call to java/util/stream/IntStream::range → KILLED

4.4
Location : inputNodeIds
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
replaced return value with Collections.emptyList for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::inputNodeIds → KILLED

5.5
Location : inputNodeIds
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
removed call to java/util/stream/IntStream::boxed → KILLED

79

1.1
Location : outputNodeIds
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
removed call to java/util/stream/IntStream::range → KILLED

2.2
Location : outputNodeIds
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
replaced return value with Collections.emptyList for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::outputNodeIds → KILLED

3.3
Location : outputNodeIds
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
Replaced integer addition with subtraction → KILLED

4.4
Location : outputNodeIds
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
removed call to java/util/stream/IntStream::boxed → KILLED

5.5
Location : outputNodeIds
Killed by : net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.spec.NeatNodeLayoutTest]/[method:contiguousLayoutPreservesTraditionalIds()]
removed call to java/util/stream/Stream::toList → KILLED

84

1.1
Location : isInput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest]/[method:doesNotSplitDisabledConnection()]
removed conditional - replaced comparison check with false → KILLED

2.2
Location : isInput
Killed by : none
changed conditional boundary → SURVIVED
Covering tests

3.3
Location : isInput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest]/[method:doesNotSplitDisabledConnection()]
changed conditional boundary → KILLED

4.4
Location : isInput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest]/[method:mutate()]
replaced boolean return with true for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::isInput → KILLED

5.5
Location : isInput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest]/[method:doesNotSplitDisabledConnection()]
removed conditional - replaced comparison check with false → KILLED

6.6
Location : isInput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest]/[method:mutate()]
Substituted 0 with 1 → KILLED

7.7
Location : isInput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest]/[method:doesNotSplitDisabledConnection()]
Substituted 1 with 0 → KILLED

8.8
Location : isInput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest]/[method:doesNotSplitDisabledConnection()]
negated conditional → KILLED

9.9
Location : isInput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest]/[method:doesNotSplitDisabledConnection()]
negated conditional → KILLED

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

11.11
Location : isInput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest]/[method:mutate()]
removed conditional - replaced comparison check with true → KILLED

89

1.1
Location : isOutput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest]/[method:mutate()]
changed conditional boundary → KILLED

2.2
Location : isOutput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest]/[method:doesNotSplitDisabledConnection()]
removed conditional - replaced comparison check with false → KILLED

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

4.4
Location : isOutput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest]/[method:doesNotSplitDisabledConnection()]
changed conditional boundary → KILLED

5.5
Location : isOutput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest]/[method:doesNotSplitDisabledConnection()]
Substituted 1 with 0 → KILLED

6.6
Location : isOutput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest]/[method:doesNotSplitDisabledConnection()]
Replaced integer addition with subtraction → KILLED

7.7
Location : isOutput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest]/[method:mutate()]
removed conditional - replaced comparison check with true → KILLED

8.8
Location : isOutput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest]/[method:doesNotSplitDisabledConnection()]
negated conditional → KILLED

9.9
Location : isOutput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest]/[method:mutate()]
Substituted 0 with 1 → KILLED

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

11.11
Location : isOutput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddNodeMutationHandlerTest]/[method:doesNotSplitDisabledConnection()]
negated conditional → KILLED

12.12
Location : isOutput
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest]/[method:mutate()]
replaced boolean return with true for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::isOutput → KILLED

99

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

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

100

1.1
Location : equals
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest]/[method:mutateConnectionExist()]
replaced boolean return with false for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::equals → KILLED

2.2
Location : equals
Killed by : net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.mutation.chromosome.NeatChromosomeAddConnectionTest]/[method:mutateConnectionExist()]
Substituted 1 with 0 → KILLED

102

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

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

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

103

1.1
Location : equals
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:simple()]
replaced boolean return with true for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::equals → KILLED

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

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

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

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

6.6
Location : equals
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:simple()]
negated conditional → KILLED

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

8.8
Location : equals
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:simple()]
removed conditional - replaced equality check with false → KILLED

9.9
Location : equals
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:simple()]
removed conditional - replaced equality check with false → KILLED

10.10
Location : equals
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:simple()]
negated conditional → KILLED

11.11
Location : equals
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:simple()]
negated conditional → KILLED

12.12
Location : equals
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:simple()]
Substituted 0 with 1 → KILLED

13.13
Location : equals
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:simple()]
Substituted 1 with 0 → KILLED

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

15.15
Location : equals
Killed by : net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.neat.chromosomes.NeatChromosomeTest]/[method:simple()]
negated conditional → KILLED

107

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

2.2
Location : equals
Killed by : none
replaced boolean return with true for net/bmahe/genetics4j/neat/spec/ContiguousNeatNodeLayout::equals → NO_COVERAGE

112

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

Active mutators

Tests examined


Report generated by PIT 1.23.1 support