ElitismReplacementStrategyHandler.java

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

Mutations

20

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.EASystemTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.EASystemTest]/[method:testGetterMethods()]
replaced boolean return with false for net/bmahe/genetics4j/core/replacement/ElitismReplacementStrategyHandler::canHandle → KILLED

36

1.1
Location : resolve
Killed by : net.bmahe.genetics4j.core.EASystemTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.EASystemTest]/[method:testGetterMethods()]
removed call to net/bmahe/genetics4j/core/spec/replacement/Elitism::offspringSelectionPolicy → KILLED

38

1.1
Location : resolve
Killed by : net.bmahe.genetics4j.core.EASystemTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.EASystemTest]/[method:testGetterMethods()]
removed call to net/bmahe/genetics4j/core/selection/SelectionPolicyHandlerResolver::resolve → KILLED

40

1.1
Location : resolve
Killed by : net.bmahe.genetics4j.core.EASystemTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.EASystemTest]/[method:testGetterMethods()]
removed call to net/bmahe/genetics4j/core/selection/SelectionPolicyHandler::resolve → KILLED

42

1.1
Location : resolve
Killed by : net.bmahe.genetics4j.core.EASystemTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.EASystemTest]/[method:testGetterMethods()]
removed call to net/bmahe/genetics4j/core/spec/replacement/Elitism::survivorSelectionPolicy → KILLED

44

1.1
Location : resolve
Killed by : net.bmahe.genetics4j.core.EASystemTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.EASystemTest]/[method:testGetterMethods()]
removed call to net/bmahe/genetics4j/core/selection/SelectionPolicyHandlerResolver::resolve → KILLED

46

1.1
Location : resolve
Killed by : net.bmahe.genetics4j.core.EASystemTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.EASystemTest]/[method:testGetterMethods()]
removed call to net/bmahe/genetics4j/core/selection/SelectionPolicyHandler::resolve → KILLED

48

1.1
Location : resolve
Killed by : net.bmahe.genetics4j.core.EASystemTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.EASystemTest]/[method:testGetterMethods()]
removed call to net/bmahe/genetics4j/core/replacement/ElitismImpl::<init> → KILLED

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

Active mutators

Tests examined


Report generated by PIT 1.19.6