RampedHalfAndHalfProgramGenerator.java

1
package net.bmahe.genetics4j.gp.program;
2
3
import java.util.List;
4
import java.util.random.RandomGenerator;
5
6
import org.apache.commons.lang3.Validate;
7
8
import net.bmahe.genetics4j.core.chromosomes.TreeNode;
9
import net.bmahe.genetics4j.gp.Operation;
10
11
public class RampedHalfAndHalfProgramGenerator implements ProgramGenerator {
12
13
	private final RandomGenerator randomGenerator;
14
	private final ProgramHelper programHelper;
15
16
	private final ProgramGenerator programGenerator;
17
18
	public RampedHalfAndHalfProgramGenerator(final RandomGenerator _randomGenerator, final ProgramHelper _programHelper) {
19
		Validate.notNull(_randomGenerator);
20
		Validate.notNull(_programHelper);
21
22 1 1. <init> : Removed assignment to member variable randomGenerator → NO_COVERAGE
		this.randomGenerator = _randomGenerator;
23 1 1. <init> : Removed assignment to member variable programHelper → NO_COVERAGE
		this.programHelper = _programHelper;
24
25 1 1. <init> : removed call to net/bmahe/genetics4j/gp/program/GrowProgramGenerator::<init> → NO_COVERAGE
		final GrowProgramGenerator growProgramGenerator = new GrowProgramGenerator(programHelper);
26 1 1. <init> : removed call to net/bmahe/genetics4j/gp/program/FullProgramGenerator::<init> → NO_COVERAGE
		final FullProgramGenerator fullProgramGenerator = new FullProgramGenerator(programHelper);
27
28 3 1. <init> : removed call to net/bmahe/genetics4j/gp/program/MultiProgramGenerator::<init> → NO_COVERAGE
2. <init> : Removed assignment to member variable programGenerator → NO_COVERAGE
3. <init> : removed call to java/util/List::of → NO_COVERAGE
		this.programGenerator = new MultiProgramGenerator(randomGenerator, List.of(fullProgramGenerator, growProgramGenerator));
29
	}
30
31
	@Override
32
	public TreeNode<Operation<?>> generate(final Program program) {
33
		Validate.notNull(program);
34
35 2 1. generate : replaced return value with null for net/bmahe/genetics4j/gp/program/RampedHalfAndHalfProgramGenerator::generate → NO_COVERAGE
2. generate : removed call to net/bmahe/genetics4j/gp/program/ProgramGenerator::generate → NO_COVERAGE
		return programGenerator.generate(program);
36
	}
37
38
	@Override
39
	public <T> TreeNode<Operation<T>> generate(final Program program, final int maxDepth) {
40
		Validate.notNull(program);
41
		Validate.isTrue(maxDepth > 0);
42
43 4 1. generate : Substituted 1 with 0 → NO_COVERAGE
2. generate : replaced call to java/util/random/RandomGenerator::nextInt with argument → NO_COVERAGE
3. generate : Replaced integer addition with subtraction → NO_COVERAGE
4. generate : removed call to java/util/random/RandomGenerator::nextInt → NO_COVERAGE
		final int newMaxDepth = 1 + randomGenerator.nextInt(maxDepth);
44 2 1. generate : removed call to net/bmahe/genetics4j/gp/program/ProgramGenerator::generate → NO_COVERAGE
2. generate : replaced return value with null for net/bmahe/genetics4j/gp/program/RampedHalfAndHalfProgramGenerator::generate → NO_COVERAGE
		return programGenerator.generate(program, newMaxDepth);
45
	}
46
47
	@Override
48
	public <T, U> TreeNode<Operation<T>> generate(final Program program, final int maxDepth, final Class<U> rootType) {
49
		Validate.notNull(program);
50
		Validate.notNull(rootType);
51
		Validate.isTrue(maxDepth > 0);
52
53 4 1. generate : removed call to java/util/random/RandomGenerator::nextInt → NO_COVERAGE
2. generate : replaced call to java/util/random/RandomGenerator::nextInt with argument → NO_COVERAGE
3. generate : Substituted 1 with 0 → NO_COVERAGE
4. generate : Replaced integer addition with subtraction → NO_COVERAGE
		final int newMaxDepth = 1 + randomGenerator.nextInt(maxDepth);
54 2 1. generate : removed call to net/bmahe/genetics4j/gp/program/ProgramGenerator::generate → NO_COVERAGE
2. generate : replaced return value with null for net/bmahe/genetics4j/gp/program/RampedHalfAndHalfProgramGenerator::generate → NO_COVERAGE
		return programGenerator.generate(program, newMaxDepth, rootType);
55
	}
56
57
}

Mutations

22

1.1
Location : <init>
Killed by : none
Removed assignment to member variable randomGenerator → NO_COVERAGE

23

1.1
Location : <init>
Killed by : none
Removed assignment to member variable programHelper → NO_COVERAGE

25

1.1
Location : <init>
Killed by : none
removed call to net/bmahe/genetics4j/gp/program/GrowProgramGenerator::<init> → NO_COVERAGE

26

1.1
Location : <init>
Killed by : none
removed call to net/bmahe/genetics4j/gp/program/FullProgramGenerator::<init> → NO_COVERAGE

28

1.1
Location : <init>
Killed by : none
removed call to net/bmahe/genetics4j/gp/program/MultiProgramGenerator::<init> → NO_COVERAGE

2.2
Location : <init>
Killed by : none
Removed assignment to member variable programGenerator → NO_COVERAGE

3.3
Location : <init>
Killed by : none
removed call to java/util/List::of → NO_COVERAGE

35

1.1
Location : generate
Killed by : none
replaced return value with null for net/bmahe/genetics4j/gp/program/RampedHalfAndHalfProgramGenerator::generate → NO_COVERAGE

2.2
Location : generate
Killed by : none
removed call to net/bmahe/genetics4j/gp/program/ProgramGenerator::generate → NO_COVERAGE

43

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

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

3.3
Location : generate
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

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

44

1.1
Location : generate
Killed by : none
removed call to net/bmahe/genetics4j/gp/program/ProgramGenerator::generate → NO_COVERAGE

2.2
Location : generate
Killed by : none
replaced return value with null for net/bmahe/genetics4j/gp/program/RampedHalfAndHalfProgramGenerator::generate → NO_COVERAGE

53

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

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

3.3
Location : generate
Killed by : none
Substituted 1 with 0 → NO_COVERAGE

4.4
Location : generate
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

54

1.1
Location : generate
Killed by : none
removed call to net/bmahe/genetics4j/gp/program/ProgramGenerator::generate → NO_COVERAGE

2.2
Location : generate
Killed by : none
replaced return value with null for net/bmahe/genetics4j/gp/program/RampedHalfAndHalfProgramGenerator::generate → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.19.6