ProgramRandomMutatePolicyHandler.java

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

Mutations

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 randomGenerator → KILLED

31

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

40

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

54

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

56

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