FitnessEvaluatorBulkAsync.java

1
package net.bmahe.genetics4j.core.evaluation;
2
3
import java.util.List;
4
import java.util.concurrent.CompletableFuture;
5
import java.util.concurrent.ExecutorService;
6
7
import org.apache.commons.lang3.Validate;
8
import org.apache.logging.log4j.LogManager;
9
import org.apache.logging.log4j.Logger;
10
11
import net.bmahe.genetics4j.core.FitnessBulkAsync;
12
import net.bmahe.genetics4j.core.Genotype;
13
import net.bmahe.genetics4j.core.spec.EAConfigurationBulkAsync;
14
15
/**
16
 * Wrapper around {@link net.bmahe.genetics4j.core.FitnessBulkAsync} for
17
 * computing the fitness of a population
18
 *
19
 * @param <T>
20
 */
21
public class FitnessEvaluatorBulkAsync<T extends Comparable<T>> implements FitnessEvaluator<T> {
22
23
	public static final Logger logger = LogManager.getLogger(FitnessEvaluatorBulkAsync.class);
24
25
	private final EAConfigurationBulkAsync<T> eaConfigurationBulkAsync;
26
27
	private final ExecutorService executorService;
28
29
	public FitnessEvaluatorBulkAsync(final EAConfigurationBulkAsync<T> _eaConfigurationBulkAsync,
30
			final ExecutorService _executorService) {
31
		Validate.notNull(_eaConfigurationBulkAsync);
32
		Validate.notNull(_executorService);
33
34 1 1. <init> : Removed assignment to member variable eaConfigurationBulkAsync → NO_COVERAGE
		this.eaConfigurationBulkAsync = _eaConfigurationBulkAsync;
35 1 1. <init> : Removed assignment to member variable executorService → NO_COVERAGE
		this.executorService = _executorService;
36
	}
37
38
	@Override
39
	public List<T> evaluate(final long generation, final List<Genotype> genotypes) {
40
		Validate.isTrue(generation >= 0);
41
		Validate.notNull(genotypes);
42
		Validate.isTrue(genotypes.size() > 0);
43
44 1 1. evaluate : removed call to net/bmahe/genetics4j/core/spec/EAConfigurationBulkAsync::fitness → NO_COVERAGE
		final FitnessBulkAsync<T> fitnessBulkAsync = eaConfigurationBulkAsync.fitness();
45
46
		logger.trace("Submitting fitness computation task");
47 1 1. evaluate : removed call to net/bmahe/genetics4j/core/FitnessBulkAsync::compute → NO_COVERAGE
		final CompletableFuture<List<T>> fitnessesCF = fitnessBulkAsync.compute(executorService, genotypes);
48
49 2 1. evaluate : removed call to java/util/concurrent/CompletableFuture::join → NO_COVERAGE
2. evaluate : replaced return value with Collections.emptyList for net/bmahe/genetics4j/core/evaluation/FitnessEvaluatorBulkAsync::evaluate → NO_COVERAGE
		return fitnessesCF.join();
50
	}
51
}

Mutations

34

1.1
Location : <init>
Killed by : none
Removed assignment to member variable eaConfigurationBulkAsync → NO_COVERAGE

35

1.1
Location : <init>
Killed by : none
Removed assignment to member variable executorService → NO_COVERAGE

44

1.1
Location : evaluate
Killed by : none
removed call to net/bmahe/genetics4j/core/spec/EAConfigurationBulkAsync::fitness → NO_COVERAGE

47

1.1
Location : evaluate
Killed by : none
removed call to net/bmahe/genetics4j/core/FitnessBulkAsync::compute → NO_COVERAGE

49

1.1
Location : evaluate
Killed by : none
removed call to java/util/concurrent/CompletableFuture::join → NO_COVERAGE

2.2
Location : evaluate
Killed by : none
replaced return value with Collections.emptyList for net/bmahe/genetics4j/core/evaluation/FitnessEvaluatorBulkAsync::evaluate → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.19.6