TournamentSelectionPolicyHandler.java

1
package net.bmahe.genetics4j.core.selection;
2
3
import java.util.Objects;
4
import java.util.random.RandomGenerator;
5
6
import org.apache.commons.lang3.Validate;
7
import org.apache.logging.log4j.LogManager;
8
import org.apache.logging.log4j.Logger;
9
10
import net.bmahe.genetics4j.core.spec.AbstractEAConfiguration;
11
import net.bmahe.genetics4j.core.spec.AbstractEAExecutionContext;
12
import net.bmahe.genetics4j.core.spec.selection.SelectionPolicy;
13
import net.bmahe.genetics4j.core.spec.selection.Tournament;
14
15
public class TournamentSelectionPolicyHandler<T extends Comparable<T>> implements SelectionPolicyHandler<T> {
16
	public static final Logger logger = LogManager.getLogger(TournamentSelectionPolicyHandler.class);
17
18
	private final RandomGenerator randomGenerator;
19
20
	public TournamentSelectionPolicyHandler(final RandomGenerator _randomGenerator) {
21
		Objects.requireNonNull(_randomGenerator);
22
23 1 1. <init> : Removed assignment to member variable randomGenerator → KILLED
		this.randomGenerator = _randomGenerator;
24
	}
25
26
	@Override
27
	public boolean canHandle(final SelectionPolicy selectionPolicy) {
28
		Objects.requireNonNull(selectionPolicy);
29
30 2 1. canHandle : replaced boolean return with true for net/bmahe/genetics4j/core/selection/TournamentSelectionPolicyHandler::canHandle → KILLED
2. canHandle : replaced boolean return with false for net/bmahe/genetics4j/core/selection/TournamentSelectionPolicyHandler::canHandle → KILLED
		return selectionPolicy instanceof Tournament;
31
	}
32
33
	@Override
34
	public Selector<T> resolve(final AbstractEAExecutionContext<T> eaExecutionContext,
35
			final AbstractEAConfiguration<T> eaConfiguration,
36
			final SelectionPolicyHandlerResolver<T> selectionPolicyHandlerResolver,
37
			final SelectionPolicy selectionPolicy) {
38
		Objects.requireNonNull(selectionPolicy);
39
		Validate.isInstanceOf(Tournament.class, selectionPolicy);
40
41 2 1. resolve : replaced return value with null for net/bmahe/genetics4j/core/selection/TournamentSelectionPolicyHandler::resolve → KILLED
2. resolve : removed call to net/bmahe/genetics4j/core/selection/TournamentSelector::<init> → KILLED
		return new TournamentSelector<>(selectionPolicy, randomGenerator);
42
	}
43
}

Mutations

23

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

30

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

2.2
Location : canHandle
Killed by : net.bmahe.genetics4j.core.selection.TournamentSelectionPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.selection.TournamentSelectionPolicyHandlerTest]/[method:canHandle()]
replaced boolean return with false for net/bmahe/genetics4j/core/selection/TournamentSelectionPolicyHandler::canHandle → KILLED

41

1.1
Location : resolve
Killed by : net.bmahe.genetics4j.core.selection.TournamentSelectionPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.selection.TournamentSelectionPolicyHandlerTest]/[method:selectMaximize()]
replaced return value with null for net/bmahe/genetics4j/core/selection/TournamentSelectionPolicyHandler::resolve → KILLED

2.2
Location : resolve
Killed by : net.bmahe.genetics4j.core.selection.TournamentSelectionPolicyHandlerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.selection.TournamentSelectionPolicyHandlerTest]/[method:selectMaximize()]
removed call to net/bmahe/genetics4j/core/selection/TournamentSelector::<init> → KILLED

Active mutators

Tests examined


Report generated by PIT 1.25.7 support