ProgramRandomMutatePolicyHandler.java

1
package net.bmahe.genetics4j.gp.mutation;
2
3
import java.util.random.RandomGenerator;
4
5
import org.apache.commons.lang3.Validate;
6
import org.apache.logging.log4j.LogManager;
7
import org.apache.logging.log4j.Logger;
8
9
import net.bmahe.genetics4j.core.mutation.MutationPolicyHandler;
10
import net.bmahe.genetics4j.core.mutation.MutationPolicyHandlerResolver;
11
import net.bmahe.genetics4j.core.mutation.Mutator;
12
import net.bmahe.genetics4j.core.spec.AbstractEAConfiguration;
13
import net.bmahe.genetics4j.core.spec.AbstractEAExecutionContext;
14
import net.bmahe.genetics4j.core.spec.mutation.MutationPolicy;
15
import net.bmahe.genetics4j.gp.program.ProgramGenerator;
16
import net.bmahe.genetics4j.gp.spec.mutation.ProgramRandomMutate;
17
18
public class ProgramRandomMutatePolicyHandler<T extends Comparable<T>> implements MutationPolicyHandler<T> {
19
	final static public Logger logger = LogManager.getLogger(ProgramRandomMutatePolicyHandler.class);
20
21
	final RandomGenerator randomGenerator;
22
	final ProgramGenerator programGenerator;
23
24
	public ProgramRandomMutatePolicyHandler(final RandomGenerator _randomGenerator,
25
			final ProgramGenerator _programGenerator) {
26
		Validate.notNull(_randomGenerator);
27
		Validate.notNull(_programGenerator);
28
29 1 1. <init> : Removed assignment to member variable randomGenerator → KILLED
		this.randomGenerator = _randomGenerator;
30 1 1. <init> : Removed assignment to member variable programGenerator → KILLED
		this.programGenerator = _programGenerator;
31
	}
32
33
	@Override
34
	public boolean canHandle(final MutationPolicyHandlerResolver<T> mutationPolicyHandlerResolver,
35
			final MutationPolicy mutationPolicy) {
36
		Validate.notNull(mutationPolicyHandlerResolver);
37
		Validate.notNull(mutationPolicy);
38
39 2 1. canHandle : replaced boolean return with false for net/bmahe/genetics4j/gp/mutation/ProgramRandomMutatePolicyHandler::canHandle → KILLED
2. canHandle : replaced boolean return with true for net/bmahe/genetics4j/gp/mutation/ProgramRandomMutatePolicyHandler::canHandle → KILLED
		return mutationPolicy instanceof ProgramRandomMutate;
40
	}
41
42
	@Override
43
	public Mutator createMutator(final AbstractEAExecutionContext<T> eaExecutionContext,
44
			final AbstractEAConfiguration<T> eaConfiguration,
45
			final MutationPolicyHandlerResolver<T> mutationPolicyHandlerResolver, final MutationPolicy mutationPolicy) {
46
		Validate.notNull(eaExecutionContext);
47
		Validate.notNull(eaConfiguration);
48
		Validate.notNull(mutationPolicyHandlerResolver);
49
		Validate.notNull(mutationPolicy);
50
		Validate.isInstanceOf(ProgramRandomMutate.class, mutationPolicy);
51
52
		final ProgramRandomMutate programRandomMutate = (ProgramRandomMutate) mutationPolicy;
53 1 1. createMutator : removed call to net/bmahe/genetics4j/gp/spec/mutation/ProgramRandomMutate::populationMutationProbability → SURVIVED
		final double populationMutationProbability = programRandomMutate.populationMutationProbability();
54
55 2 1. createMutator : replaced return value with null for net/bmahe/genetics4j/gp/mutation/ProgramRandomMutatePolicyHandler::createMutator → KILLED
2. createMutator : removed call to net/bmahe/genetics4j/gp/mutation/ProgramRandomMutateMutator::<init> → KILLED
		return new ProgramRandomMutateMutator(programGenerator,
56
				randomGenerator,
57
				eaConfiguration,
58
				populationMutationProbability);
59
	}
60
}

Mutations

29

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

30

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.gp.mutation.ProgramRandomMutatePolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.ProgramRandomMutatePolicyHandlerTest]/[method:createMutator()]
Removed assignment to member variable programGenerator → KILLED

39

1.1
Location : canHandle
Killed by : net.bmahe.genetics4j.gp.mutation.ProgramRandomMutatePolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.ProgramRandomMutatePolicyHandlerTest]/[method:canHandle()]
replaced boolean return with false for net/bmahe/genetics4j/gp/mutation/ProgramRandomMutatePolicyHandler::canHandle → KILLED

2.2
Location : canHandle
Killed by : net.bmahe.genetics4j.gp.mutation.ProgramRandomMutatePolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.ProgramRandomMutatePolicyHandlerTest]/[method:canHandle()]
replaced boolean return with true for net/bmahe/genetics4j/gp/mutation/ProgramRandomMutatePolicyHandler::canHandle → KILLED

53

1.1
Location : createMutator
Killed by : none
removed call to net/bmahe/genetics4j/gp/spec/mutation/ProgramRandomMutate::populationMutationProbability → SURVIVED
Covering tests

55

1.1
Location : createMutator
Killed by : net.bmahe.genetics4j.gp.mutation.ProgramRandomMutatePolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.ProgramRandomMutatePolicyHandlerTest]/[method:createMutator()]
replaced return value with null for net/bmahe/genetics4j/gp/mutation/ProgramRandomMutatePolicyHandler::createMutator → KILLED

2.2
Location : createMutator
Killed by : net.bmahe.genetics4j.gp.mutation.ProgramRandomMutatePolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.gp.mutation.ProgramRandomMutatePolicyHandlerTest]/[method:createMutator()]
removed call to net/bmahe/genetics4j/gp/mutation/ProgramRandomMutateMutator::<init> → KILLED

Active mutators

Tests examined


Report generated by PIT 1.19.6