RepeatedMutationPolicyHandler.java

1
package net.bmahe.genetics4j.core.mutation;
2
3
import java.util.Objects;
4
import java.util.random.RandomGenerator;
5
6
import org.apache.commons.lang3.Validate;
7
8
import net.bmahe.genetics4j.core.spec.AbstractEAConfiguration;
9
import net.bmahe.genetics4j.core.spec.AbstractEAExecutionContext;
10
import net.bmahe.genetics4j.core.spec.mutation.MutationPolicy;
11
import net.bmahe.genetics4j.core.spec.mutation.RepeatedMutation;
12
13
public class RepeatedMutationPolicyHandler<T extends Comparable<T>> implements MutationPolicyHandler<T> {
14
15
	private final RandomGenerator randomGenerator;
16
17
	public RepeatedMutationPolicyHandler(final RandomGenerator _randomGenerator) {
18
		this.randomGenerator = Objects.requireNonNull(_randomGenerator);
19
	}
20
21
	@Override
22
	public boolean canHandle(final MutationPolicyHandlerResolver<T> mutationPolicyHandlerResolver,
23
			final MutationPolicy mutationPolicy) {
24
		Objects.requireNonNull(mutationPolicyHandlerResolver);
25
		Objects.requireNonNull(mutationPolicy);
26
27 3 1. canHandle : removed conditional - replaced equality check with false → KILLED
2. canHandle : negated conditional → KILLED
3. canHandle : removed conditional - replaced equality check with true → KILLED
		if ((mutationPolicy instanceof RepeatedMutation) == false) {
28 2 1. canHandle : replaced boolean return with true for net/bmahe/genetics4j/core/mutation/RepeatedMutationPolicyHandler::canHandle → KILLED
2. canHandle : Substituted 0 with 1 → KILLED
			return false;
29
		}
30
31
		final RepeatedMutation repeatedMutation = (RepeatedMutation) mutationPolicy;
32 4 1. canHandle : replaced boolean return with true for net/bmahe/genetics4j/core/mutation/RepeatedMutationPolicyHandler::canHandle → SURVIVED
2. canHandle : removed call to net/bmahe/genetics4j/core/spec/mutation/RepeatedMutation::mutationPolicy → KILLED
3. canHandle : removed call to net/bmahe/genetics4j/core/mutation/MutationPolicyHandlerResolver::canHandle → KILLED
4. canHandle : replaced boolean return with false for net/bmahe/genetics4j/core/mutation/RepeatedMutationPolicyHandler::canHandle → KILLED
		return mutationPolicyHandlerResolver.canHandle(repeatedMutation.mutationPolicy());
33
	}
34
35
	@Override
36
	public Mutator createMutator(final AbstractEAExecutionContext<T> eaExecutionContext,
37
			final AbstractEAConfiguration<T> eaConfiguration,
38
			final MutationPolicyHandlerResolver<T> mutationPolicyHandlerResolver, final MutationPolicy mutationPolicy) {
39
		Objects.requireNonNull(eaExecutionContext);
40
		Objects.requireNonNull(eaConfiguration);
41
		Objects.requireNonNull(mutationPolicyHandlerResolver);
42
		Objects.requireNonNull(mutationPolicy);
43
		Validate.isInstanceOf(RepeatedMutation.class, mutationPolicy);
44
45
		final RepeatedMutation repeatedMutation = (RepeatedMutation) mutationPolicy;
46 1 1. createMutator : removed call to net/bmahe/genetics4j/core/spec/mutation/RepeatedMutation::mutationPolicy → KILLED
		final MutationPolicy childMutationPolicy = repeatedMutation.mutationPolicy();
47
		final MutationPolicyHandler<T> childMutationPolicyHandler = mutationPolicyHandlerResolver
48 1 1. createMutator : removed call to net/bmahe/genetics4j/core/mutation/MutationPolicyHandlerResolver::resolve → KILLED
				.resolve(childMutationPolicy);
49
		final Mutator childMutator = childMutationPolicyHandler
50 1 1. createMutator : removed call to net/bmahe/genetics4j/core/mutation/MutationPolicyHandler::createMutator → KILLED
				.createMutator(eaExecutionContext, eaConfiguration, mutationPolicyHandlerResolver, childMutationPolicy);
51
52 2 1. createMutator : removed call to net/bmahe/genetics4j/core/mutation/RepeatedMutator::<init> → KILLED
2. createMutator : replaced return value with null for net/bmahe/genetics4j/core/mutation/RepeatedMutationPolicyHandler::createMutator → KILLED
		return new RepeatedMutator(randomGenerator, repeatedMutation, childMutator);
53
	}
54
}

Mutations

27

1.1
Location : canHandle
Killed by : net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest]/[method:canHandle()]
removed conditional - replaced equality check with false → KILLED

2.2
Location : canHandle
Killed by : net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest]/[method:canHandle()]
negated conditional → KILLED

3.3
Location : canHandle
Killed by : net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest]/[method:canHandle()]
removed conditional - replaced equality check with true → KILLED

28

1.1
Location : canHandle
Killed by : net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest]/[method:canHandle()]
replaced boolean return with true for net/bmahe/genetics4j/core/mutation/RepeatedMutationPolicyHandler::canHandle → KILLED

2.2
Location : canHandle
Killed by : net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest]/[method:canHandle()]
Substituted 0 with 1 → KILLED

32

1.1
Location : canHandle
Killed by : net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest]/[method:canHandle()]
removed call to net/bmahe/genetics4j/core/spec/mutation/RepeatedMutation::mutationPolicy → KILLED

2.2
Location : canHandle
Killed by : net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest]/[method:canHandle()]
removed call to net/bmahe/genetics4j/core/mutation/MutationPolicyHandlerResolver::canHandle → KILLED

3.3
Location : canHandle
Killed by : none
replaced boolean return with true for net/bmahe/genetics4j/core/mutation/RepeatedMutationPolicyHandler::canHandle → SURVIVED
Covering tests

4.4
Location : canHandle
Killed by : net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest]/[method:canHandle()]
replaced boolean return with false for net/bmahe/genetics4j/core/mutation/RepeatedMutationPolicyHandler::canHandle → KILLED

46

1.1
Location : createMutator
Killed by : net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest]/[method:createsRepeatedMutator()]
removed call to net/bmahe/genetics4j/core/spec/mutation/RepeatedMutation::mutationPolicy → KILLED

48

1.1
Location : createMutator
Killed by : net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest]/[method:createsRepeatedMutator()]
removed call to net/bmahe/genetics4j/core/mutation/MutationPolicyHandlerResolver::resolve → KILLED

50

1.1
Location : createMutator
Killed by : net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest]/[method:createsRepeatedMutator()]
removed call to net/bmahe/genetics4j/core/mutation/MutationPolicyHandler::createMutator → KILLED

52

1.1
Location : createMutator
Killed by : net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest]/[method:createsRepeatedMutator()]
removed call to net/bmahe/genetics4j/core/mutation/RepeatedMutator::<init> → KILLED

2.2
Location : createMutator
Killed by : net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.mutation.RepeatedMutationPolicyHandlerTest]/[method:createsRepeatedMutator()]
replaced return value with null for net/bmahe/genetics4j/core/mutation/RepeatedMutationPolicyHandler::createMutator → KILLED

Active mutators

Tests examined


Report generated by PIT 1.25.7 support