RampedHalfAndHalfProgramGenerator.java

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

Mutations

24

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

25

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

27

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

28

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

31

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

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

38

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

46

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

47

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

56

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

57

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.25.7 support