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,
19
			final ProgramHelper _programHelper) {
20
		Validate.notNull(_randomGenerator);
21
		Validate.notNull(_programHelper);
22
23 1 1. <init> : Removed assignment to member variable randomGenerator → NO_COVERAGE
		this.randomGenerator = _randomGenerator;
24 1 1. <init> : Removed assignment to member variable programHelper → NO_COVERAGE
		this.programHelper = _programHelper;
25
26 1 1. <init> : removed call to net/bmahe/genetics4j/gp/program/GrowProgramGenerator::<init> → NO_COVERAGE
		final GrowProgramGenerator growProgramGenerator = new GrowProgramGenerator(programHelper);
27 1 1. <init> : removed call to net/bmahe/genetics4j/gp/program/FullProgramGenerator::<init> → NO_COVERAGE
		final FullProgramGenerator fullProgramGenerator = new FullProgramGenerator(programHelper);
28
29
		this.programGenerator = new MultiProgramGenerator(randomGenerator,
30 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));
31
	}
32
33
	@Override
34
	public TreeNode<Operation<?>> generate(final Program program) {
35
		Validate.notNull(program);
36
37 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);
38
	}
39
40
	@Override
41
	public <T> TreeNode<Operation<T>> generate(final Program program, final int maxDepth) {
42
		Validate.notNull(program);
43
		Validate.isTrue(maxDepth > 0);
44
45 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);
46 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);
47
	}
48
49
	@Override
50
	public <T, U> TreeNode<Operation<T>> generate(final Program program, final int maxDepth, final Class<U> rootType) {
51
		Validate.notNull(program);
52
		Validate.notNull(rootType);
53
		Validate.isTrue(maxDepth > 0);
54
55 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);
56 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);
57
	}
58
59
}

Mutations

23

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

24

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

26

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

27

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

30

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

37

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

45

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

46

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

55

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

56

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.20.3