ElitismReplacementStrategyHandler.java

1
package net.bmahe.genetics4j.core.replacement;
2
3
import java.util.Objects;
4
5
import org.apache.commons.lang3.Validate;
6
7
import net.bmahe.genetics4j.core.selection.SelectionPolicyHandler;
8
import net.bmahe.genetics4j.core.selection.SelectionPolicyHandlerResolver;
9
import net.bmahe.genetics4j.core.selection.Selector;
10
import net.bmahe.genetics4j.core.spec.AbstractEAConfiguration;
11
import net.bmahe.genetics4j.core.spec.AbstractEAExecutionContext;
12
import net.bmahe.genetics4j.core.spec.replacement.Elitism;
13
import net.bmahe.genetics4j.core.spec.replacement.ReplacementStrategy;
14
import net.bmahe.genetics4j.core.spec.selection.SelectionPolicy;
15
16
public class ElitismReplacementStrategyHandler<T extends Comparable<T>> implements ReplacementStrategyHandler<T> {
17
18
	@Override
19
	public boolean canHandle(final ReplacementStrategy replacementStrategy) {
20
		Objects.requireNonNull(replacementStrategy);
21
22 2 1. canHandle : replaced boolean return with true for net/bmahe/genetics4j/core/replacement/ElitismReplacementStrategyHandler::canHandle → SURVIVED
2. canHandle : replaced boolean return with false for net/bmahe/genetics4j/core/replacement/ElitismReplacementStrategyHandler::canHandle → KILLED
		return replacementStrategy instanceof Elitism;
23
	}
24
25
	@Override
26
	public ReplacementStrategyImplementor<T> resolve(final AbstractEAExecutionContext<T> eaExecutionContext,
27
			final AbstractEAConfiguration<T> eaConfiguration,
28
			final SelectionPolicyHandlerResolver<T> selectionPolicyHandlerResolver,
29
			final ReplacementStrategy replacementStrategy) {
30
		Objects.requireNonNull(eaExecutionContext);
31
		Objects.requireNonNull(eaConfiguration);
32
		Objects.requireNonNull(selectionPolicyHandlerResolver);
33
		Objects.requireNonNull(replacementStrategy);
34
		Validate.isInstanceOf(Elitism.class, replacementStrategy);
35
36
		final Elitism elitism = (Elitism) replacementStrategy;
37
38 1 1. resolve : removed call to net/bmahe/genetics4j/core/spec/replacement/Elitism::offspringSelectionPolicy → KILLED
		final SelectionPolicy offspringSelectionPolicy = elitism.offspringSelectionPolicy();
39
		final SelectionPolicyHandler<T> offspringSelectionPolicyHandler = selectionPolicyHandlerResolver
40 1 1. resolve : removed call to net/bmahe/genetics4j/core/selection/SelectionPolicyHandlerResolver::resolve → KILLED
				.resolve(offspringSelectionPolicy);
41
		final Selector<T> offspringSelector = offspringSelectionPolicyHandler
42 1 1. resolve : removed call to net/bmahe/genetics4j/core/selection/SelectionPolicyHandler::resolve → KILLED
				.resolve(eaExecutionContext, eaConfiguration, selectionPolicyHandlerResolver, offspringSelectionPolicy);
43
44 1 1. resolve : removed call to net/bmahe/genetics4j/core/spec/replacement/Elitism::survivorSelectionPolicy → KILLED
		final SelectionPolicy survivorSelectionPolicy = elitism.survivorSelectionPolicy();
45
		final SelectionPolicyHandler<T> survivorSelectionPolicyHandler = selectionPolicyHandlerResolver
46 1 1. resolve : removed call to net/bmahe/genetics4j/core/selection/SelectionPolicyHandlerResolver::resolve → KILLED
				.resolve(survivorSelectionPolicy);
47
		final Selector<T> survivorSelector = survivorSelectionPolicyHandler
48 1 1. resolve : removed call to net/bmahe/genetics4j/core/selection/SelectionPolicyHandler::resolve → KILLED
				.resolve(eaExecutionContext, eaConfiguration, selectionPolicyHandlerResolver, survivorSelectionPolicy);
49
50 2 1. resolve : removed call to net/bmahe/genetics4j/core/replacement/ElitismImpl::<init> → KILLED
2. resolve : replaced return value with null for net/bmahe/genetics4j/core/replacement/ElitismReplacementStrategyHandler::resolve → KILLED
		return new ElitismImpl<>(elitism, offspringSelector, survivorSelector);
51
	}
52
}

Mutations

22

1.1
Location : canHandle
Killed by : none
replaced boolean return with true for net/bmahe/genetics4j/core/replacement/ElitismReplacementStrategyHandler::canHandle → SURVIVED
Covering tests

2.2
Location : canHandle
Killed by : net.bmahe.genetics4j.core.evaluation.FitnessEvaluatorVirtualThreadTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evaluation.FitnessEvaluatorVirtualThreadTest]/[method:virtualThreadFactory()]
replaced boolean return with false for net/bmahe/genetics4j/core/replacement/ElitismReplacementStrategyHandler::canHandle → KILLED

38

1.1
Location : resolve
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/spec/replacement/Elitism::offspringSelectionPolicy → KILLED

40

1.1
Location : resolve
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/selection/SelectionPolicyHandlerResolver::resolve → KILLED

42

1.1
Location : resolve
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/selection/SelectionPolicyHandler::resolve → KILLED

44

1.1
Location : resolve
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/spec/replacement/Elitism::survivorSelectionPolicy → KILLED

46

1.1
Location : resolve
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/selection/SelectionPolicyHandlerResolver::resolve → KILLED

48

1.1
Location : resolve
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/selection/SelectionPolicyHandler::resolve → KILLED

50

1.1
Location : resolve
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/replacement/ElitismImpl::<init> → KILLED

2.2
Location : resolve
Killed by : net.bmahe.genetics4j.core.evaluation.FitnessEvaluatorVirtualThreadTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evaluation.FitnessEvaluatorVirtualThreadTest]/[method:virtualThreadFactory()]
replaced return value with null for net/bmahe/genetics4j/core/replacement/ElitismReplacementStrategyHandler::resolve → KILLED

Active mutators

Tests examined


Report generated by PIT 1.25.7 support