RandomMutationPolicyHandler.java

1
package net.bmahe.genetics4j.core.mutation;
2
3
import java.util.Objects;
4
import java.util.random.RandomGenerator;
5
6
import net.bmahe.genetics4j.core.chromosomes.Chromosome;
7
import net.bmahe.genetics4j.core.mutation.chromosome.ChromosomeMutationHandler;
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.RandomMutation;
12
import net.bmahe.genetics4j.core.util.ChromosomeResolverUtils;
13
14
public class RandomMutationPolicyHandler<T extends Comparable<T>> implements MutationPolicyHandler<T> {
15
16
	private final RandomGenerator randomGenerator;
17
18
	public RandomMutationPolicyHandler(final RandomGenerator _randomGenerator) {
19
		Objects.requireNonNull(_randomGenerator);
20
21 1 1. <init> : Removed assignment to member variable randomGenerator → KILLED
		this.randomGenerator = _randomGenerator;
22
	}
23
24
	@Override
25
	public boolean canHandle(final MutationPolicyHandlerResolver<T> mutationPolicyHandlerResolver,
26
			final MutationPolicy mutationPolicy) {
27
		Objects.requireNonNull(mutationPolicy);
28
29 2 1. canHandle : replaced boolean return with false for net/bmahe/genetics4j/core/mutation/RandomMutationPolicyHandler::canHandle → KILLED
2. canHandle : replaced boolean return with true for net/bmahe/genetics4j/core/mutation/RandomMutationPolicyHandler::canHandle → KILLED
		return mutationPolicy instanceof RandomMutation;
30
	}
31
32
	@Override
33
	public Mutator createMutator(final AbstractEAExecutionContext<T> eaExecutionContext,
34
			final AbstractEAConfiguration<T> eaConfiguration,
35
			final MutationPolicyHandlerResolver<T> mutationPolicyHandlerResolver, final MutationPolicy mutationPolicy) {
36
		Objects.requireNonNull(eaExecutionContext);
37
		Objects.requireNonNull(eaConfiguration);
38
		Objects.requireNonNull(mutationPolicy);
39
		Objects.requireNonNull(mutationPolicyHandlerResolver);
40
41
		final RandomMutation randomMutationPolicy = (RandomMutation) mutationPolicy;
42 1 1. createMutator : removed call to net/bmahe/genetics4j/core/spec/mutation/RandomMutation::populationMutationProbability → SURVIVED
		final double populationMutationProbability = randomMutationPolicy.populationMutationProbability();
43
44
		final ChromosomeMutationHandler<? extends Chromosome>[] chromosomeMutationHandlers = ChromosomeResolverUtils
45 1 1. createMutator : removed call to net/bmahe/genetics4j/core/util/ChromosomeResolverUtils::resolveChromosomeMutationHandlers → KILLED
				.resolveChromosomeMutationHandlers(eaExecutionContext, eaConfiguration, mutationPolicy);
46
47 2 1. createMutator : replaced return value with null for net/bmahe/genetics4j/core/mutation/RandomMutationPolicyHandler::createMutator → KILLED
2. createMutator : removed call to net/bmahe/genetics4j/core/mutation/GenericMutatorImpl::<init> → KILLED
		return new GenericMutatorImpl(randomGenerator,
48
				chromosomeMutationHandlers,
49
				mutationPolicy,
50
				populationMutationProbability);
51
	}
52
}

Mutations

21

1.1
Location : <init>
Killed by : net.bmahe.genetics4j.core.evaluation.FitnessEvaluatorVirtualThreadTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evaluation.FitnessEvaluatorVirtualThreadTest]/[method:virtualThreadFactory()]
Removed assignment to member variable randomGenerator → KILLED

29

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

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

42

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

45

1.1
Location : createMutator
Killed by : net.bmahe.genetics4j.core.evaluation.FitnessEvaluatorVirtualThreadTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evaluation.FitnessEvaluatorVirtualThreadTest]/[method:virtualThreadFactory()]
removed call to net/bmahe/genetics4j/core/util/ChromosomeResolverUtils::resolveChromosomeMutationHandlers → KILLED

47

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

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

Active mutators

Tests examined


Report generated by PIT 1.25.7 support