ProgramHelper.java

1
package net.bmahe.genetics4j.gp.program;
2
3
import java.util.List;
4
import java.util.Objects;
5
import java.util.Set;
6
import java.util.random.RandomGenerator;
7
import java.util.stream.Collectors;
8
import java.util.stream.Stream;
9
10
import org.apache.commons.lang3.Validate;
11
import org.apache.logging.log4j.LogManager;
12
import org.apache.logging.log4j.Logger;
13
14
import net.bmahe.genetics4j.gp.OperationFactory;
15
16
public class ProgramHelper {
17
	public final static Logger logger = LogManager.getLogger(ProgramHelper.class);
18
19
	private final RandomGenerator randomGenerator;
20
21
	public ProgramHelper(final RandomGenerator _randomGenerator) {
22
		Objects.requireNonNull(_randomGenerator);
23
24 1 1. <init> : Removed assignment to member variable randomGenerator → KILLED
		this.randomGenerator = _randomGenerator;
25
	}
26
27
	public OperationFactory pickRandomFunction(final Program program) {
28
		Objects.requireNonNull(program);
29
		Validate.isTrue(program.functions().size() > 0);
30
31 1 1. pickRandomFunction : removed call to net/bmahe/genetics4j/gp/program/Program::functions → KILLED
		final Set<OperationFactory> functions = program.functions();
32 9 1. pickRandomFunction : replaced call to java/util/random/RandomGenerator::nextInt with argument → KILLED
2. pickRandomFunction : removed call to java/util/Set::stream → KILLED
3. pickRandomFunction : removed call to java/util/stream/Stream::findFirst → KILLED
4. pickRandomFunction : removed call to java/util/Optional::get → KILLED
5. pickRandomFunction : replaced call to java/util/stream/Stream::skip with receiver → KILLED
6. pickRandomFunction : replaced return value with null for net/bmahe/genetics4j/gp/program/ProgramHelper::pickRandomFunction → KILLED
7. pickRandomFunction : removed call to java/util/stream/Stream::skip → KILLED
8. pickRandomFunction : removed call to java/util/Set::size → KILLED
9. pickRandomFunction : removed call to java/util/random/RandomGenerator::nextInt → KILLED
		return functions.stream().skip(randomGenerator.nextInt(functions.size())).findFirst().get();
33
	}
34
35
	public <T> OperationFactory pickRandomFunction(final Program program, final Class<T> requiredClass) {
36
		Objects.requireNonNull(program);
37
		Objects.requireNonNull(requiredClass);
38
		Validate.isTrue(program.functions().size() > 0);
39
40 1 1. pickRandomFunction : removed call to net/bmahe/genetics4j/gp/program/Program::functions → KILLED
		final Set<OperationFactory> functions = program.functions();
41
		@SuppressWarnings("unchecked")
42 1 1. pickRandomFunction : removed call to java/util/Set::stream → KILLED
		final List<OperationFactory> candidates = functions.stream()
43 6 1. lambda$pickRandomFunction$0 : removed call to java/lang/Class::isAssignableFrom → KILLED
2. lambda$pickRandomFunction$0 : replaced boolean return with true for net/bmahe/genetics4j/gp/program/ProgramHelper::lambda$pickRandomFunction$0 → KILLED
3. lambda$pickRandomFunction$0 : replaced boolean return with false for net/bmahe/genetics4j/gp/program/ProgramHelper::lambda$pickRandomFunction$0 → KILLED
4. pickRandomFunction : removed call to java/util/stream/Stream::filter → KILLED
5. lambda$pickRandomFunction$0 : removed call to net/bmahe/genetics4j/gp/OperationFactory::returnedType → KILLED
6. pickRandomFunction : replaced call to java/util/stream/Stream::filter with receiver → KILLED
				.filter((operationFactory) -> operationFactory.returnedType().isAssignableFrom(requiredClass))
44 2 1. pickRandomFunction : removed call to java/util/stream/Stream::collect → KILLED
2. pickRandomFunction : removed call to java/util/stream/Collectors::toList → KILLED
				.collect(Collectors.toList());
45
46 7 1. pickRandomFunction : removed call to java/util/List::isEmpty → SURVIVED
2. pickRandomFunction : removed conditional - replaced equality check with true → SURVIVED
3. pickRandomFunction : removed conditional - replaced equality check with false → SURVIVED
4. pickRandomFunction : negated conditional → KILLED
5. pickRandomFunction : removed conditional - replaced equality check with false → KILLED
6. pickRandomFunction : negated conditional → KILLED
7. pickRandomFunction : removed conditional - replaced equality check with true → KILLED
		if (candidates == null || candidates.isEmpty()) {
47 2 1. pickRandomFunction : removed call to java/lang/String::valueOf → SURVIVED
2. pickRandomFunction : removed call to java/lang/IllegalArgumentException::<init> → KILLED
			throw new IllegalArgumentException("Could not find a suitable function returning a " + requiredClass);
48
		}
49
50 5 1. pickRandomFunction : removed call to java/util/random/RandomGenerator::nextInt → SURVIVED
2. pickRandomFunction : replaced call to java/util/random/RandomGenerator::nextInt with argument → KILLED
3. pickRandomFunction : replaced return value with null for net/bmahe/genetics4j/gp/program/ProgramHelper::pickRandomFunction → KILLED
4. pickRandomFunction : removed call to java/util/List::get → KILLED
5. pickRandomFunction : removed call to java/util/List::size → KILLED
		return candidates.get(randomGenerator.nextInt(candidates.size()));
51
	}
52
53
	public <T> OperationFactory pickRandomTerminal(final Program program, final Class<T> requiredClass) {
54
		Objects.requireNonNull(program);
55
		Objects.requireNonNull(requiredClass);
56
57 1 1. pickRandomTerminal : removed call to net/bmahe/genetics4j/gp/program/Program::terminal → KILLED
		final Set<OperationFactory> terminals = program.terminal();
58
		@SuppressWarnings("unchecked")
59 1 1. pickRandomTerminal : removed call to java/util/Set::stream → KILLED
		final List<OperationFactory> candidates = terminals.stream()
60 6 1. lambda$pickRandomTerminal$1 : removed call to net/bmahe/genetics4j/gp/OperationFactory::returnedType → KILLED
2. pickRandomTerminal : replaced call to java/util/stream/Stream::filter with receiver → KILLED
3. pickRandomTerminal : removed call to java/util/stream/Stream::filter → KILLED
4. lambda$pickRandomTerminal$1 : removed call to java/lang/Class::isAssignableFrom → KILLED
5. lambda$pickRandomTerminal$1 : replaced boolean return with true for net/bmahe/genetics4j/gp/program/ProgramHelper::lambda$pickRandomTerminal$1 → KILLED
6. lambda$pickRandomTerminal$1 : replaced boolean return with false for net/bmahe/genetics4j/gp/program/ProgramHelper::lambda$pickRandomTerminal$1 → KILLED
				.filter((operationFactory) -> operationFactory.returnedType().isAssignableFrom(requiredClass))
61 2 1. pickRandomTerminal : removed call to java/util/stream/Collectors::toList → KILLED
2. pickRandomTerminal : removed call to java/util/stream/Stream::collect → KILLED
				.collect(Collectors.toList());
62
63 7 1. pickRandomTerminal : removed conditional - replaced equality check with false → SURVIVED
2. pickRandomTerminal : removed conditional - replaced equality check with true → SURVIVED
3. pickRandomTerminal : removed call to java/util/List::isEmpty → SURVIVED
4. pickRandomTerminal : removed conditional - replaced equality check with false → KILLED
5. pickRandomTerminal : negated conditional → KILLED
6. pickRandomTerminal : removed conditional - replaced equality check with true → KILLED
7. pickRandomTerminal : negated conditional → KILLED
		if (candidates == null || candidates.isEmpty()) {
64 2 1. pickRandomTerminal : removed call to java/lang/String::valueOf → SURVIVED
2. pickRandomTerminal : removed call to java/lang/IllegalArgumentException::<init> → KILLED
			throw new IllegalArgumentException("Could not find a suitable terminal returning a " + requiredClass);
65
		}
66
67 5 1. pickRandomTerminal : removed call to java/util/random/RandomGenerator::nextInt → SURVIVED
2. pickRandomTerminal : removed call to java/util/List::get → KILLED
3. pickRandomTerminal : replaced call to java/util/random/RandomGenerator::nextInt with argument → KILLED
4. pickRandomTerminal : replaced return value with null for net/bmahe/genetics4j/gp/program/ProgramHelper::pickRandomTerminal → KILLED
5. pickRandomTerminal : removed call to java/util/List::size → KILLED
		return candidates.get(randomGenerator.nextInt(candidates.size()));
68
	}
69
70
	public OperationFactory pickRandomTerminal(final Program program) {
71
		Objects.requireNonNull(program);
72
73 1 1. pickRandomTerminal : removed call to net/bmahe/genetics4j/gp/program/Program::terminal → KILLED
		final Set<OperationFactory> terminals = program.terminal();
74 3 1. pickRandomTerminal : removed call to java/util/Set::stream → KILLED
2. pickRandomTerminal : removed call to java/util/stream/Collectors::toList → KILLED
3. pickRandomTerminal : removed call to java/util/stream/Stream::collect → KILLED
		final List<OperationFactory> candidates = terminals.stream().collect(Collectors.toList());
75
76 5 1. pickRandomTerminal : replaced return value with null for net/bmahe/genetics4j/gp/program/ProgramHelper::pickRandomTerminal → KILLED
2. pickRandomTerminal : removed call to java/util/List::size → KILLED
3. pickRandomTerminal : replaced call to java/util/random/RandomGenerator::nextInt with argument → KILLED
4. pickRandomTerminal : removed call to java/util/random/RandomGenerator::nextInt → KILLED
5. pickRandomTerminal : removed call to java/util/List::get → KILLED
		return candidates.get(randomGenerator.nextInt(candidates.size()));
77
	}
78
79
	public OperationFactory pickRandomFunctionOrTerminal(final Program program) {
80
		Objects.requireNonNull(program);
81
82 1 1. pickRandomFunctionOrTerminal : removed call to net/bmahe/genetics4j/gp/program/Program::terminal → KILLED
		final Set<OperationFactory> terminals = program.terminal();
83 1 1. pickRandomFunctionOrTerminal : removed call to net/bmahe/genetics4j/gp/program/Program::functions → KILLED
		final Set<OperationFactory> functions = program.functions();
84 3 1. pickRandomFunctionOrTerminal : removed call to java/util/Set::size → SURVIVED
2. pickRandomFunctionOrTerminal : removed call to java/util/Set::size → SURVIVED
3. pickRandomFunctionOrTerminal : Replaced integer addition with subtraction → KILLED
		final int totalNumberCandidates = terminals.size() + functions.size();
85
86 4 1. pickRandomFunctionOrTerminal : replaced call to java/util/stream/Stream::concat with argument → KILLED
2. pickRandomFunctionOrTerminal : removed call to java/util/Set::stream → KILLED
3. pickRandomFunctionOrTerminal : removed call to java/util/stream/Stream::concat → KILLED
4. pickRandomFunctionOrTerminal : removed call to java/util/Set::stream → KILLED
		final Stream<OperationFactory> candidates = Stream.concat(terminals.stream(), functions.stream());
87 2 1. pickRandomFunctionOrTerminal : removed call to java/util/random/RandomGenerator::nextInt → KILLED
2. pickRandomFunctionOrTerminal : replaced call to java/util/random/RandomGenerator::nextInt with argument → KILLED
		final int chosenCandidate = randomGenerator.nextInt(totalNumberCandidates);
88
89 5 1. pickRandomFunctionOrTerminal : removed call to java/util/stream/Stream::skip → KILLED
2. pickRandomFunctionOrTerminal : replaced return value with null for net/bmahe/genetics4j/gp/program/ProgramHelper::pickRandomFunctionOrTerminal → KILLED
3. pickRandomFunctionOrTerminal : replaced call to java/util/stream/Stream::skip with receiver → KILLED
4. pickRandomFunctionOrTerminal : removed call to java/util/stream/Stream::findFirst → KILLED
5. pickRandomFunctionOrTerminal : removed call to java/util/Optional::get → KILLED
		return candidates.skip(chosenCandidate).findFirst().get();
90
	}
91
92
	public <T> OperationFactory pickRandomFunctionOrTerminal(final Program program, final Class<T> requiredClass) {
93
		Objects.requireNonNull(program);
94
		Objects.requireNonNull(requiredClass);
95
96 1 1. pickRandomFunctionOrTerminal : removed call to net/bmahe/genetics4j/gp/program/Program::terminal → KILLED
		final Set<OperationFactory> terminals = program.terminal();
97 1 1. pickRandomFunctionOrTerminal : removed call to net/bmahe/genetics4j/gp/program/Program::functions → KILLED
		final Set<OperationFactory> functions = program.functions();
98
99 4 1. pickRandomFunctionOrTerminal : replaced call to java/util/stream/Stream::concat with argument → SURVIVED
2. pickRandomFunctionOrTerminal : removed call to java/util/Set::stream → KILLED
3. pickRandomFunctionOrTerminal : removed call to java/util/stream/Stream::concat → KILLED
4. pickRandomFunctionOrTerminal : removed call to java/util/Set::stream → KILLED
		final Stream<OperationFactory> candidates = Stream.concat(terminals.stream(), functions.stream());
100
101
		@SuppressWarnings("unchecked")
102
		final List<OperationFactory> filteredCandidates = candidates
103 6 1. lambda$pickRandomFunctionOrTerminal$2 : removed call to java/lang/Class::isAssignableFrom → KILLED
2. lambda$pickRandomFunctionOrTerminal$2 : replaced boolean return with true for net/bmahe/genetics4j/gp/program/ProgramHelper::lambda$pickRandomFunctionOrTerminal$2 → KILLED
3. lambda$pickRandomFunctionOrTerminal$2 : removed call to net/bmahe/genetics4j/gp/OperationFactory::returnedType → KILLED
4. pickRandomFunctionOrTerminal : replaced call to java/util/stream/Stream::filter with receiver → KILLED
5. pickRandomFunctionOrTerminal : removed call to java/util/stream/Stream::filter → KILLED
6. lambda$pickRandomFunctionOrTerminal$2 : replaced boolean return with false for net/bmahe/genetics4j/gp/program/ProgramHelper::lambda$pickRandomFunctionOrTerminal$2 → KILLED
				.filter((operationFactory) -> operationFactory.returnedType().isAssignableFrom(requiredClass))
104 2 1. pickRandomFunctionOrTerminal : removed call to java/util/stream/Stream::collect → KILLED
2. pickRandomFunctionOrTerminal : removed call to java/util/stream/Collectors::toList → KILLED
				.collect(Collectors.toList());
105
106 1 1. pickRandomFunctionOrTerminal : removed call to java/util/List::size → KILLED
		final int filteredCandidatesCount = filteredCandidates.size();
107 3 1. pickRandomFunctionOrTerminal : removed conditional - replaced equality check with false → SURVIVED
2. pickRandomFunctionOrTerminal : removed conditional - replaced equality check with true → KILLED
3. pickRandomFunctionOrTerminal : negated conditional → KILLED
		if (filteredCandidatesCount == 0) {
108
			logger.error(
109
					"No candidate terminals or functions found that can return an instance of class {}",
110
						requiredClass);
111
			logger.debug("\tKnown terminals: {}", program.terminal().stream());
112
			logger.debug("\tKnown functions: {}", program.functions());
113
114 2 1. pickRandomFunctionOrTerminal : removed call to java/lang/IllegalArgumentException::<init> → NO_COVERAGE
2. pickRandomFunctionOrTerminal : removed call to java/lang/String::valueOf → NO_COVERAGE
			throw new IllegalArgumentException(
115
					"No candidate terminals or functions found that can return an instance of class " + requiredClass);
116
		}
117
118 3 1. pickRandomFunctionOrTerminal : removed call to java/util/random/RandomGenerator::nextInt → SURVIVED
2. pickRandomFunctionOrTerminal : removed call to java/util/List::size → KILLED
3. pickRandomFunctionOrTerminal : replaced call to java/util/random/RandomGenerator::nextInt with argument → KILLED
		final int chosenCandidate = randomGenerator.nextInt(filteredCandidates.size());
119
120 2 1. pickRandomFunctionOrTerminal : replaced return value with null for net/bmahe/genetics4j/gp/program/ProgramHelper::pickRandomFunctionOrTerminal → KILLED
2. pickRandomFunctionOrTerminal : removed call to java/util/List::get → KILLED
		return filteredCandidates.get(chosenCandidate);
121
	}
122
}

Mutations

24

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalButNoTerminal()]
Removed assignment to member variable randomGenerator → KILLED

31

1.1
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionSingleFunction()]
removed call to net/bmahe/genetics4j/gp/program/Program::functions → KILLED

32

1.1
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionSingleFunction()]
replaced call to java/util/random/RandomGenerator::nextInt with argument → KILLED

2.2
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionSingleFunction()]
removed call to java/util/Set::stream → KILLED

3.3
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionSingleFunction()]
removed call to java/util/stream/Stream::findFirst → KILLED

4.4
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionSingleFunction()]
removed call to java/util/Optional::get → KILLED

5.5
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunction()]
replaced call to java/util/stream/Stream::skip with receiver → KILLED

6.6
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionSingleFunction()]
replaced return value with null for net/bmahe/genetics4j/gp/program/ProgramHelper::pickRandomFunction → KILLED

7.7
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionSingleFunction()]
removed call to java/util/stream/Stream::skip → KILLED

8.8
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionSingleFunction()]
removed call to java/util/Set::size → KILLED

9.9
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunction()]
removed call to java/util/random/RandomGenerator::nextInt → KILLED

40

1.1
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraintButNoFunctionAvailable()]
removed call to net/bmahe/genetics4j/gp/program/Program::functions → KILLED

42

1.1
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraintButNoFunctionAvailable()]
removed call to java/util/Set::stream → KILLED

43

1.1
Location : lambda$pickRandomFunction$0
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraint()]
removed call to java/lang/Class::isAssignableFrom → KILLED

2.2
Location : lambda$pickRandomFunction$0
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraintButNoFunctionAvailable()]
replaced boolean return with true for net/bmahe/genetics4j/gp/program/ProgramHelper::lambda$pickRandomFunction$0 → KILLED

3.3
Location : lambda$pickRandomFunction$0
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraint()]
replaced boolean return with false for net/bmahe/genetics4j/gp/program/ProgramHelper::lambda$pickRandomFunction$0 → KILLED

4.4
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraintButNoFunctionAvailable()]
removed call to java/util/stream/Stream::filter → KILLED

5.5
Location : lambda$pickRandomFunction$0
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraintButNoFunctionAvailable()]
removed call to net/bmahe/genetics4j/gp/OperationFactory::returnedType → KILLED

6.6
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraintButNoFunctionAvailable()]
replaced call to java/util/stream/Stream::filter with receiver → KILLED

44

1.1
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraint()]
removed call to java/util/stream/Stream::collect → KILLED

2.2
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraintButNoFunctionAvailable()]
removed call to java/util/stream/Collectors::toList → KILLED

46

1.1
Location : pickRandomFunction
Killed by : none
removed call to java/util/List::isEmpty → SURVIVED
Covering tests

2.2
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraint()]
negated conditional → KILLED

3.3
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraint()]
removed conditional - replaced equality check with false → KILLED

4.4
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraint()]
negated conditional → KILLED

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

6.6
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraint()]
removed conditional - replaced equality check with true → KILLED

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

47

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

2.2
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraintButNoFunctionAvailable()]
removed call to java/lang/IllegalArgumentException::<init> → KILLED

50

1.1
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraint()]
replaced call to java/util/random/RandomGenerator::nextInt with argument → KILLED

2.2
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraint()]
replaced return value with null for net/bmahe/genetics4j/gp/program/ProgramHelper::pickRandomFunction → KILLED

3.3
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraint()]
removed call to java/util/List::get → KILLED

4.4
Location : pickRandomFunction
Killed by : none
removed call to java/util/random/RandomGenerator::nextInt → SURVIVED
Covering tests

5.5
Location : pickRandomFunction
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomFunctionWithConstraint()]
removed call to java/util/List::size → KILLED

57

1.1
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraintButNoTerminalAvailable()]
removed call to net/bmahe/genetics4j/gp/program/Program::terminal → KILLED

59

1.1
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraintButNoTerminalAvailable()]
removed call to java/util/Set::stream → KILLED

60

1.1
Location : lambda$pickRandomTerminal$1
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraintButNoTerminalAvailable()]
removed call to net/bmahe/genetics4j/gp/OperationFactory::returnedType → KILLED

2.2
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraintButNoTerminalAvailable()]
replaced call to java/util/stream/Stream::filter with receiver → KILLED

3.3
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraintButNoTerminalAvailable()]
removed call to java/util/stream/Stream::filter → KILLED

4.4
Location : lambda$pickRandomTerminal$1
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraint()]
removed call to java/lang/Class::isAssignableFrom → KILLED

5.5
Location : lambda$pickRandomTerminal$1
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraintButNoTerminalAvailable()]
replaced boolean return with true for net/bmahe/genetics4j/gp/program/ProgramHelper::lambda$pickRandomTerminal$1 → KILLED

6.6
Location : lambda$pickRandomTerminal$1
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraint()]
replaced boolean return with false for net/bmahe/genetics4j/gp/program/ProgramHelper::lambda$pickRandomTerminal$1 → KILLED

61

1.1
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraintButNoTerminalAvailable()]
removed call to java/util/stream/Collectors::toList → KILLED

2.2
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraint()]
removed call to java/util/stream/Stream::collect → KILLED

63

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

2.2
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraint()]
removed conditional - replaced equality check with false → KILLED

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

4.4
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraint()]
negated conditional → KILLED

5.5
Location : pickRandomTerminal
Killed by : none
removed call to java/util/List::isEmpty → SURVIVED Covering tests

6.6
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraint()]
removed conditional - replaced equality check with true → KILLED

7.7
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraint()]
negated conditional → KILLED

64

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

2.2
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraintButNoTerminalAvailable()]
removed call to java/lang/IllegalArgumentException::<init> → KILLED

67

1.1
Location : pickRandomTerminal
Killed by : none
removed call to java/util/random/RandomGenerator::nextInt → SURVIVED
Covering tests

2.2
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraint()]
removed call to java/util/List::get → KILLED

3.3
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraint()]
replaced call to java/util/random/RandomGenerator::nextInt with argument → KILLED

4.4
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraint()]
replaced return value with null for net/bmahe/genetics4j/gp/program/ProgramHelper::pickRandomTerminal → KILLED

5.5
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalWithConstraint()]
removed call to java/util/List::size → KILLED

73

1.1
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalButNoTerminal()]
removed call to net/bmahe/genetics4j/gp/program/Program::terminal → KILLED

74

1.1
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalButNoTerminal()]
removed call to java/util/Set::stream → KILLED

2.2
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalButNoTerminal()]
removed call to java/util/stream/Collectors::toList → KILLED

3.3
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalButNoTerminal()]
removed call to java/util/stream/Stream::collect → KILLED

76

1.1
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalSingleFunction()]
replaced return value with null for net/bmahe/genetics4j/gp/program/ProgramHelper::pickRandomTerminal → KILLED

2.2
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalSingleFunction()]
removed call to java/util/List::size → KILLED

3.3
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalButNoTerminal()]
replaced call to java/util/random/RandomGenerator::nextInt with argument → KILLED

4.4
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalButNoTerminal()]
removed call to java/util/random/RandomGenerator::nextInt → KILLED

5.5
Location : pickRandomTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalSingleFunction()]
removed call to java/util/List::get → KILLED

82

1.1
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalOrFunciton()]
removed call to net/bmahe/genetics4j/gp/program/Program::terminal → KILLED

83

1.1
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalOrFunciton()]
removed call to net/bmahe/genetics4j/gp/program/Program::functions → KILLED

84

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

2.2
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generate()]
Replaced integer addition with subtraction → KILLED

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

86

1.1
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalOrFunciton()]
replaced call to java/util/stream/Stream::concat with argument → KILLED

2.2
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalOrFunciton()]
removed call to java/util/Set::stream → KILLED

3.3
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalOrFunciton()]
removed call to java/util/stream/Stream::concat → KILLED

4.4
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalOrFunciton()]
removed call to java/util/Set::stream → KILLED

87

1.1
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalOrFunciton()]
removed call to java/util/random/RandomGenerator::nextInt → KILLED

2.2
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalOrFunciton()]
replaced call to java/util/random/RandomGenerator::nextInt with argument → KILLED

89

1.1
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalOrFunciton()]
removed call to java/util/stream/Stream::skip → KILLED

2.2
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalOrFunciton()]
replaced return value with null for net/bmahe/genetics4j/gp/program/ProgramHelper::pickRandomFunctionOrTerminal → KILLED

3.3
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalOrFunciton()]
replaced call to java/util/stream/Stream::skip with receiver → KILLED

4.4
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalOrFunciton()]
removed call to java/util/stream/Stream::findFirst → KILLED

5.5
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.ProgramHelperTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.ProgramHelperTest]/[method:pickRandomTerminalOrFunciton()]
removed call to java/util/Optional::get → KILLED

96

1.1
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
removed call to net/bmahe/genetics4j/gp/program/Program::terminal → KILLED

97

1.1
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
removed call to net/bmahe/genetics4j/gp/program/Program::functions → KILLED

99

1.1
Location : pickRandomFunctionOrTerminal
Killed by : none
replaced call to java/util/stream/Stream::concat with argument → SURVIVED
Covering tests

2.2
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
removed call to java/util/Set::stream → KILLED

3.3
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
removed call to java/util/stream/Stream::concat → KILLED

4.4
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
removed call to java/util/Set::stream → KILLED

103

1.1
Location : lambda$pickRandomFunctionOrTerminal$2
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
removed call to java/lang/Class::isAssignableFrom → KILLED

2.2
Location : lambda$pickRandomFunctionOrTerminal$2
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
replaced boolean return with true for net/bmahe/genetics4j/gp/program/ProgramHelper::lambda$pickRandomFunctionOrTerminal$2 → KILLED

3.3
Location : lambda$pickRandomFunctionOrTerminal$2
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
removed call to net/bmahe/genetics4j/gp/OperationFactory::returnedType → KILLED

4.4
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
replaced call to java/util/stream/Stream::filter with receiver → KILLED

5.5
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
removed call to java/util/stream/Stream::filter → KILLED

6.6
Location : lambda$pickRandomFunctionOrTerminal$2
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
replaced boolean return with false for net/bmahe/genetics4j/gp/program/ProgramHelper::lambda$pickRandomFunctionOrTerminal$2 → KILLED

104

1.1
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
removed call to java/util/stream/Stream::collect → KILLED

2.2
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
removed call to java/util/stream/Collectors::toList → KILLED

106

1.1
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
removed call to java/util/List::size → KILLED

107

1.1
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
removed conditional - replaced equality check with true → KILLED

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

3.3
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
negated conditional → KILLED

114

1.1
Location : pickRandomFunctionOrTerminal
Killed by : none
removed call to java/lang/IllegalArgumentException::<init> → NO_COVERAGE

2.2
Location : pickRandomFunctionOrTerminal
Killed by : none
removed call to java/lang/String::valueOf → NO_COVERAGE

118

1.1
Location : pickRandomFunctionOrTerminal
Killed by : none
removed call to java/util/random/RandomGenerator::nextInt → SURVIVED
Covering tests

2.2
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
removed call to java/util/List::size → KILLED

3.3
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
replaced call to java/util/random/RandomGenerator::nextInt with argument → KILLED

120

1.1
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
replaced return value with null for net/bmahe/genetics4j/gp/program/ProgramHelper::pickRandomFunctionOrTerminal → KILLED

2.2
Location : pickRandomFunctionOrTerminal
Killed by : net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.program.GrowProgramGeneratorTest]/[method:generateWithRootType()]
removed call to java/util/List::get → KILLED

Active mutators

Tests examined


Report generated by PIT 1.20.3