DeleteNodePolicyHandler.java

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

Mutations

25

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

34

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

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

47

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

50

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

52

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

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

Active mutators

Tests examined


Report generated by PIT 1.25.7 support