MultiProgramGenerator.java

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

Mutations

15

1.1
Location : <init>
Killed by : none
removed call to java/util/ArrayList::<init> → NO_COVERAGE

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

25

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

26

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

30

1.1
Location : pickProgramGenerator
Killed by : none
removed call to java/util/List::size → NO_COVERAGE

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

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

32

1.1
Location : pickProgramGenerator
Killed by : none
removed call to java/util/List::get → NO_COVERAGE

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

39

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

40

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

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

48

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

49

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

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

58

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

59

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/MultiProgramGenerator::generate → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.19.6