1
|
|
package net.bmahe.genetics4j.core.chromosomes.factory; |
2
|
|
|
3
|
|
import java.util.function.Supplier; |
4
|
|
import java.util.random.RandomGenerator; |
5
|
|
|
6
|
|
import org.apache.commons.lang3.Validate; |
7
|
|
|
8
|
|
import net.bmahe.genetics4j.core.chromosomes.DoubleChromosome; |
9
|
|
import net.bmahe.genetics4j.core.spec.chromosome.ChromosomeSpec; |
10
|
|
import net.bmahe.genetics4j.core.spec.chromosome.DoubleChromosomeSpec; |
11
|
|
import net.bmahe.genetics4j.core.util.DistributionUtils; |
12
|
|
|
13
|
|
public class DoubleChromosomeFactory implements ChromosomeFactory<DoubleChromosome> { |
14
|
|
|
15
|
|
private final RandomGenerator randomGenerator; |
16
|
|
|
17
|
|
public DoubleChromosomeFactory(final RandomGenerator _randomGenerator) { |
18
|
|
Validate.notNull(_randomGenerator); |
19
|
|
|
20
|
1
1. <init> : Removed assignment to member variable randomGenerator → KILLED
|
this.randomGenerator = _randomGenerator; |
21
|
|
} |
22
|
|
|
23
|
|
@Override |
24
|
|
public boolean canHandle(final ChromosomeSpec chromosomeSpec) { |
25
|
|
Validate.notNull(chromosomeSpec); |
26
|
|
|
27
|
2
1. canHandle : replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/factory/DoubleChromosomeFactory::canHandle → KILLED
2. canHandle : replaced boolean return with false for net/bmahe/genetics4j/core/chromosomes/factory/DoubleChromosomeFactory::canHandle → KILLED
|
return chromosomeSpec instanceof DoubleChromosomeSpec; |
28
|
|
} |
29
|
|
|
30
|
|
@Override |
31
|
|
public DoubleChromosome generate(final ChromosomeSpec chromosomeSpec) { |
32
|
|
Validate.notNull(chromosomeSpec); |
33
|
|
Validate.isInstanceOf(DoubleChromosomeSpec.class, chromosomeSpec); |
34
|
|
|
35
|
|
final DoubleChromosomeSpec doubleChromosomeSpec = (DoubleChromosomeSpec) chromosomeSpec; |
36
|
|
|
37
|
1
1. generate : removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::minValue → KILLED
|
final var minValue = doubleChromosomeSpec.minValue(); |
38
|
1
1. generate : removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::maxValue → KILLED
|
final var maxValue = doubleChromosomeSpec.maxValue(); |
39
|
1
1. generate : removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::distribution → KILLED
|
final var distribution = doubleChromosomeSpec.distribution(); |
40
|
|
|
41
|
|
final Supplier<Double> generator = DistributionUtils |
42
|
1
1. generate : removed call to net/bmahe/genetics4j/core/util/DistributionUtils::distributionValueSupplier → KILLED
|
.distributionValueSupplier(randomGenerator, minValue, maxValue, distribution); |
43
|
|
|
44
|
1
1. generate : removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::size → KILLED
|
double[] values = new double[doubleChromosomeSpec.size()]; |
45
|
6
1. generate : removed conditional - replaced comparison check with false → KILLED
2. generate : negated conditional → KILLED
3. generate : changed conditional boundary → KILLED
4. generate : removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::size → KILLED
5. generate : removed conditional - replaced comparison check with true → KILLED
6. generate : Substituted 0 with 1 → KILLED
|
for (int i = 0; i < doubleChromosomeSpec.size(); i++) { |
46
|
2
1. generate : removed call to java/lang/Double::doubleValue → KILLED
2. generate : removed call to java/util/function/Supplier::get → KILLED
|
values[i] = generator.get(); |
47
|
|
} |
48
|
|
|
49
|
3
1. generate : removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::minValue → SURVIVED
2. generate : removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::size → KILLED
3. generate : replaced return value with null for net/bmahe/genetics4j/core/chromosomes/factory/DoubleChromosomeFactory::generate → KILLED
|
return new DoubleChromosome(doubleChromosomeSpec.size(), doubleChromosomeSpec.minValue(), |
50
|
2
1. generate : removed call to net/bmahe/genetics4j/core/chromosomes/DoubleChromosome::<init> → KILLED
2. generate : removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::maxValue → KILLED
|
doubleChromosomeSpec.maxValue(), values); |
51
|
|
} |
52
|
|
} |
| | Mutations |
20 |
|
1.1 Location : <init> Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] Removed assignment to member variable randomGenerator → KILLED
|
27 |
|
1.1 Location : canHandle Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:canHandleTest()] replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/factory/DoubleChromosomeFactory::canHandle → KILLED
2.2 Location : canHandle Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:canHandleTest()] replaced boolean return with false for net/bmahe/genetics4j/core/chromosomes/factory/DoubleChromosomeFactory::canHandle → KILLED
|
37 |
|
1.1 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::minValue → KILLED
|
38 |
|
1.1 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::maxValue → KILLED
|
39 |
|
1.1 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::distribution → KILLED
|
42 |
|
1.1 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] removed call to net/bmahe/genetics4j/core/util/DistributionUtils::distributionValueSupplier → KILLED
|
44 |
|
1.1 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::size → KILLED
|
45 |
|
1.1 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] removed conditional - replaced comparison check with false → KILLED
2.2 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] negated conditional → KILLED
3.3 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] changed conditional boundary → KILLED
4.4 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::size → KILLED
5.5 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] removed conditional - replaced comparison check with true → KILLED
6.6 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] Substituted 0 with 1 → KILLED
|
46 |
|
1.1 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] removed call to java/lang/Double::doubleValue → KILLED
2.2 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] removed call to java/util/function/Supplier::get → KILLED
|
49 |
|
1.1 Location : generate Killed by : none removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::minValue → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()]
2.2 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::size → KILLED
3.3 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] replaced return value with null for net/bmahe/genetics4j/core/chromosomes/factory/DoubleChromosomeFactory::generate → KILLED
|
50 |
|
1.1 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] removed call to net/bmahe/genetics4j/core/chromosomes/DoubleChromosome::<init> → KILLED
2.2 Location : generate Killed by : net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.factory.DoubleChromosomeFactoryTest]/[method:generateTest()] removed call to net/bmahe/genetics4j/core/spec/chromosome/DoubleChromosomeSpec::maxValue → KILLED
|