|
1
|
|
package net.bmahe.genetics4j.core.chromosomes; |
|
2
|
|
|
|
3
|
|
import java.util.BitSet; |
|
4
|
|
import java.util.Objects; |
|
5
|
|
|
|
6
|
|
import org.apache.commons.lang3.Validate; |
|
7
|
|
|
|
8
|
|
/** |
|
9
|
|
* A chromosome implementation that represents genetic information as a sequence of bits. |
|
10
|
|
* |
|
11
|
|
* <p>BitChromosome is commonly used for binary optimization problems, feature selection, and any application where the |
|
12
|
|
* solution can be encoded as a bit string. Each bit (allele) can be either 0 or 1, representing boolean choices or |
|
13
|
|
* binary features. |
|
14
|
|
* |
|
15
|
|
* <p>This implementation is immutable and uses a {@link BitSet} for efficient storage and manipulation of the bit |
|
16
|
|
* sequence. |
|
17
|
|
* |
|
18
|
|
* <p>Common use cases include: |
|
19
|
|
* <ul> |
|
20
|
|
* <li>Binary optimization problems (knapsack, subset selection)</li> |
|
21
|
|
* <li>Feature selection in machine learning</li> |
|
22
|
|
* <li>Boolean satisfiability problems</li> |
|
23
|
|
* <li>Circuit design and logic optimization</li> |
|
24
|
|
* </ul> |
|
25
|
|
* |
|
26
|
|
* @see Chromosome |
|
27
|
|
* @see java.util.BitSet |
|
28
|
|
*/ |
|
29
|
|
public class BitChromosome implements Chromosome { |
|
30
|
|
|
|
31
|
|
private final int numBits; |
|
32
|
|
private final BitSet bitSet; |
|
33
|
|
|
|
34
|
|
/** |
|
35
|
|
* Creates a new bit chromosome with the specified number of bits and initial values. |
|
36
|
|
* |
|
37
|
|
* @param _numBits the number of bits in this chromosome, must be positive |
|
38
|
|
* @param _bitSet the initial bit values for this chromosome |
|
39
|
|
* @throws IllegalArgumentException if numBits is zero or negative, if bitSet is null, or if numBits exceeds the |
|
40
|
|
* bitSet size |
|
41
|
|
*/ |
|
42
|
|
public BitChromosome(final int _numBits, final BitSet _bitSet) { |
|
43
|
|
Validate.isTrue(_numBits > 0, "numBits can't be zero or negative"); |
|
44
|
|
Objects.requireNonNull(_bitSet); |
|
45
|
|
Validate.isTrue(_numBits <= _bitSet.size()); |
|
46
|
|
|
|
47
|
1
1. <init> : Removed assignment to member variable numBits → KILLED
|
this.numBits = _numBits; |
|
48
|
2
1. <init> : Removed assignment to member variable bitSet → KILLED
2. <init> : removed call to java/util/BitSet::<init> → KILLED
|
this.bitSet = new BitSet(numBits); |
|
49
|
1
1. <init> : removed call to java/util/BitSet::or → KILLED
|
this.bitSet.or(_bitSet); |
|
50
|
|
} |
|
51
|
|
|
|
52
|
|
@Override |
|
53
|
|
public int getNumAlleles() { |
|
54
|
1
1. getNumAlleles : replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/BitChromosome::getNumAlleles → KILLED
|
return numBits; |
|
55
|
|
} |
|
56
|
|
|
|
57
|
|
/** |
|
58
|
|
* Returns the bit value at the specified index. |
|
59
|
|
* |
|
60
|
|
* @param index the index of the bit to retrieve (0-based) |
|
61
|
|
* @return {@code true} if the bit is set (1), {@code false} if clear (0) |
|
62
|
|
* @throws IllegalArgumentException if index is negative or greater than or equal to numBits |
|
63
|
|
*/ |
|
64
|
|
public boolean getBit(final int index) { |
|
65
|
|
Validate.isTrue(index >= 0); |
|
66
|
|
Validate.isTrue(index < numBits); |
|
67
|
|
|
|
68
|
3
1. getBit : removed call to java/util/BitSet::get → KILLED
2. getBit : replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/BitChromosome::getBit → KILLED
3. getBit : replaced boolean return with false for net/bmahe/genetics4j/core/chromosomes/BitChromosome::getBit → KILLED
|
return bitSet.get(index); |
|
69
|
|
} |
|
70
|
|
|
|
71
|
|
/** |
|
72
|
|
* Returns the underlying BitSet containing all bit values. |
|
73
|
|
* |
|
74
|
|
* <p>The returned BitSet is a copy and modifications to it will not affect this chromosome. |
|
75
|
|
* |
|
76
|
|
* @return a BitSet containing the bit values of this chromosome |
|
77
|
|
*/ |
|
78
|
|
public BitSet getBitSet() { |
|
79
|
1
1. getBitSet : replaced return value with null for net/bmahe/genetics4j/core/chromosomes/BitChromosome::getBitSet → KILLED
|
return bitSet; |
|
80
|
|
} |
|
81
|
|
|
|
82
|
|
/** |
|
83
|
|
* Returns the number of bits set to 1 in this chromosome. |
|
84
|
|
* |
|
85
|
|
* <p>This method counts all bits that are set to true (1) in the chromosome's bit sequence. |
|
86
|
|
* |
|
87
|
|
* @return the count of bits set to 1, ranging from 0 to numBits |
|
88
|
|
*/ |
|
89
|
|
public int countOnes() { |
|
90
|
2
1. countOnes : replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/BitChromosome::countOnes → KILLED
2. countOnes : removed call to java/util/BitSet::cardinality → KILLED
|
return bitSet.cardinality(); |
|
91
|
|
} |
|
92
|
|
|
|
93
|
|
/** |
|
94
|
|
* Returns the number of bits set to 0 in this chromosome. |
|
95
|
|
* |
|
96
|
|
* <p>This method counts all bits that are set to false (0) in the chromosome's bit sequence. This is the complement |
|
97
|
|
* of {@link #countOnes()}. |
|
98
|
|
* |
|
99
|
|
* @return the count of bits set to 0, ranging from 0 to numBits |
|
100
|
|
* @see #countOnes() |
|
101
|
|
*/ |
|
102
|
|
public int countZeros() { |
|
103
|
3
1. countZeros : replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/BitChromosome::countZeros → KILLED
2. countZeros : removed call to net/bmahe/genetics4j/core/chromosomes/BitChromosome::countOnes → KILLED
3. countZeros : Replaced integer subtraction with addition → KILLED
|
return numBits - countOnes(); |
|
104
|
|
} |
|
105
|
|
|
|
106
|
|
@Override |
|
107
|
|
public int hashCode() { |
|
108
|
1
1. hashCode : Substituted 31 with 32 → NO_COVERAGE
|
final int prime = 31; |
|
109
|
1
1. hashCode : Substituted 1 with 0 → NO_COVERAGE
|
int result = 1; |
|
110
|
8
1. hashCode : Replaced integer addition with subtraction → NO_COVERAGE
2. hashCode : negated conditional → NO_COVERAGE
3. hashCode : Substituted 31 with 32 → NO_COVERAGE
4. hashCode : removed conditional - replaced equality check with true → NO_COVERAGE
5. hashCode : removed conditional - replaced equality check with false → NO_COVERAGE
6. hashCode : Substituted 0 with 1 → NO_COVERAGE
7. hashCode : Replaced integer multiplication with division → NO_COVERAGE
8. hashCode : removed call to java/util/BitSet::hashCode → NO_COVERAGE
|
result = prime * result + ((bitSet == null) ? 0 : bitSet.hashCode()); |
|
111
|
3
1. hashCode : Replaced integer addition with subtraction → NO_COVERAGE
2. hashCode : Substituted 31 with 32 → NO_COVERAGE
3. hashCode : Replaced integer multiplication with division → NO_COVERAGE
|
result = prime * result + numBits; |
|
112
|
1
1. hashCode : replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/BitChromosome::hashCode → NO_COVERAGE
|
return result; |
|
113
|
|
} |
|
114
|
|
|
|
115
|
|
@Override |
|
116
|
|
public boolean equals(Object obj) { |
|
117
|
2
1. equals : negated conditional → SURVIVED
2. equals : removed conditional - replaced equality check with true → SURVIVED
|
if (this == obj) |
|
118
|
2
1. equals : Substituted 1 with 0 → KILLED
2. equals : replaced boolean return with false for net/bmahe/genetics4j/core/chromosomes/BitChromosome::equals → KILLED
|
return true; |
|
119
|
3
1. equals : removed conditional - replaced equality check with false → SURVIVED
2. equals : removed conditional - replaced equality check with true → KILLED
3. equals : negated conditional → KILLED
|
if (obj == null) |
|
120
|
2
1. equals : replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/BitChromosome::equals → NO_COVERAGE
2. equals : Substituted 0 with 1 → NO_COVERAGE
|
return false; |
|
121
|
5
1. equals : removed call to java/lang/Object::getClass → KILLED
2. equals : removed conditional - replaced equality check with true → KILLED
3. equals : removed conditional - replaced equality check with false → KILLED
4. equals : negated conditional → KILLED
5. equals : removed call to java/lang/Object::getClass → KILLED
|
if (getClass() != obj.getClass()) |
|
122
|
2
1. equals : replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/BitChromosome::equals → SURVIVED
2. equals : Substituted 0 with 1 → SURVIVED
|
return false; |
|
123
|
|
BitChromosome other = (BitChromosome) obj; |
|
124
|
3
1. equals : removed conditional - replaced equality check with false → SURVIVED
2. equals : removed conditional - replaced equality check with true → KILLED
3. equals : negated conditional → KILLED
|
if (bitSet == null) { |
|
125
|
3
1. equals : removed conditional - replaced equality check with false → NO_COVERAGE
2. equals : removed conditional - replaced equality check with true → NO_COVERAGE
3. equals : negated conditional → NO_COVERAGE
|
if (other.bitSet != null) |
|
126
|
2
1. equals : Substituted 0 with 1 → NO_COVERAGE
2. equals : replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/BitChromosome::equals → NO_COVERAGE
|
return false; |
|
127
|
4
1. equals : removed conditional - replaced equality check with false → SURVIVED
2. equals : removed conditional - replaced equality check with true → KILLED
3. equals : negated conditional → KILLED
4. equals : removed call to java/util/BitSet::equals → KILLED
|
} else if (!bitSet.equals(other.bitSet)) |
|
128
|
2
1. equals : replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/BitChromosome::equals → NO_COVERAGE
2. equals : Substituted 0 with 1 → NO_COVERAGE
|
return false; |
|
129
|
3
1. equals : removed conditional - replaced equality check with false → SURVIVED
2. equals : negated conditional → KILLED
3. equals : removed conditional - replaced equality check with true → KILLED
|
if (numBits != other.numBits) |
|
130
|
2
1. equals : replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/BitChromosome::equals → NO_COVERAGE
2. equals : Substituted 0 with 1 → NO_COVERAGE
|
return false; |
|
131
|
2
1. equals : replaced boolean return with false for net/bmahe/genetics4j/core/chromosomes/BitChromosome::equals → KILLED
2. equals : Substituted 1 with 0 → KILLED
|
return true; |
|
132
|
|
} |
|
133
|
|
|
|
134
|
|
@Override |
|
135
|
|
public String toString() { |
|
136
|
2
1. toString : removed call to java/lang/String::valueOf → SURVIVED
2. toString : replaced return value with "" for net/bmahe/genetics4j/core/chromosomes/BitChromosome::toString → SURVIVED
|
return "BitChromosome [numBits=" + numBits + ", bitSet=" + bitSet + "]"; |
|
137
|
|
} |
|
138
|
|
} |
| | Mutations |
| 47 |
|
1.1 Location : <init> Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:countZerosAll()] Removed assignment to member variable numBits → KILLED
|
| 48 |
|
1.1 Location : <init> Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:countZerosAll()] Removed assignment to member variable bitSet → KILLED
2.2 Location : <init> Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:countZerosAll()] removed call to java/util/BitSet::<init> → KILLED
|
| 49 |
|
1.1 Location : <init> Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:countZerosAll()] removed call to java/util/BitSet::or → KILLED
|
| 54 |
|
1.1 Location : getNumAlleles Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/BitChromosome::getNumAlleles → KILLED
|
| 68 |
|
1.1 Location : getBit Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] removed call to java/util/BitSet::get → KILLED
2.2 Location : getBit Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/BitChromosome::getBit → KILLED
3.3 Location : getBit Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] replaced boolean return with false for net/bmahe/genetics4j/core/chromosomes/BitChromosome::getBit → KILLED
|
| 79 |
|
1.1 Location : getBitSet Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] replaced return value with null for net/bmahe/genetics4j/core/chromosomes/BitChromosome::getBitSet → KILLED
|
| 90 |
|
1.1 Location : countOnes Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:countZerosAll()] replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/BitChromosome::countOnes → KILLED
2.2 Location : countOnes Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:countZerosAll()] removed call to java/util/BitSet::cardinality → KILLED
|
| 103 |
|
1.1 Location : countZeros Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:countZerosEmpty()] replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/BitChromosome::countZeros → KILLED
2.2 Location : countZeros Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:countZerosAll()] removed call to net/bmahe/genetics4j/core/chromosomes/BitChromosome::countOnes → KILLED
3.3 Location : countZeros Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:countZerosAll()] Replaced integer subtraction with addition → KILLED
|
| 108 |
|
1.1 Location : hashCode Killed by : none Substituted 31 with 32 → NO_COVERAGE
|
| 109 |
|
1.1 Location : hashCode Killed by : none Substituted 1 with 0 → NO_COVERAGE
|
| 110 |
|
1.1 Location : hashCode Killed by : none Replaced integer addition with subtraction → NO_COVERAGE
2.2 Location : hashCode Killed by : none negated conditional → NO_COVERAGE
3.3 Location : hashCode Killed by : none Substituted 31 with 32 → NO_COVERAGE
4.4 Location : hashCode Killed by : none removed conditional - replaced equality check with true → NO_COVERAGE
5.5 Location : hashCode Killed by : none removed conditional - replaced equality check with false → NO_COVERAGE
6.6 Location : hashCode Killed by : none Substituted 0 with 1 → NO_COVERAGE
7.7 Location : hashCode Killed by : none Replaced integer multiplication with division → NO_COVERAGE
8.8 Location : hashCode Killed by : none removed call to java/util/BitSet::hashCode → NO_COVERAGE
|
| 111 |
|
1.1 Location : hashCode Killed by : none Replaced integer addition with subtraction → NO_COVERAGE
2.2 Location : hashCode Killed by : none Substituted 31 with 32 → NO_COVERAGE
3.3 Location : hashCode Killed by : none Replaced integer multiplication with division → NO_COVERAGE
|
| 112 |
|
1.1 Location : hashCode Killed by : none replaced int return with 0 for net/bmahe/genetics4j/core/chromosomes/BitChromosome::hashCode → NO_COVERAGE
|
| 117 |
|
1.1 Location : equals Killed by : none negated conditional → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()]
- net.bmahe.genetics4j.core.GenotypeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.GenotypeTest]/[method:simple()]
2.2 Location : equals Killed by : none removed conditional - replaced equality check with true → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()]
- net.bmahe.genetics4j.core.GenotypeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.GenotypeTest]/[method:simple()]
|
| 118 |
|
1.1 Location : equals Killed by : net.bmahe.genetics4j.core.GenotypeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.GenotypeTest]/[method:simple()] Substituted 1 with 0 → KILLED
2.2 Location : equals Killed by : net.bmahe.genetics4j.core.GenotypeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.GenotypeTest]/[method:simple()] replaced boolean return with false for net/bmahe/genetics4j/core/chromosomes/BitChromosome::equals → KILLED
|
| 119 |
|
1.1 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] removed conditional - replaced equality check with true → KILLED
2.2 Location : equals Killed by : none removed conditional - replaced equality check with false → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()]
- net.bmahe.genetics4j.core.GenotypeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.GenotypeTest]/[method:simple()]
3.3 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] negated conditional → KILLED
|
| 120 |
|
1.1 Location : equals Killed by : none replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/BitChromosome::equals → NO_COVERAGE
2.2 Location : equals Killed by : none Substituted 0 with 1 → NO_COVERAGE
|
| 121 |
|
1.1 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] removed call to java/lang/Object::getClass → KILLED
2.2 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] removed conditional - replaced equality check with true → KILLED
3.3 Location : equals Killed by : net.bmahe.genetics4j.core.GenotypeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.GenotypeTest]/[method:simple()] removed conditional - replaced equality check with false → KILLED
4.4 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] negated conditional → KILLED
5.5 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] removed call to java/lang/Object::getClass → KILLED
|
| 122 |
|
1.1 Location : equals Killed by : none replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/BitChromosome::equals → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.GenotypeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.GenotypeTest]/[method:simple()]
2.2 Location : equals Killed by : none Substituted 0 with 1 → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.GenotypeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.GenotypeTest]/[method:simple()]
|
| 124 |
|
1.1 Location : equals Killed by : none removed conditional - replaced equality check with false → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()]
2.2 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] removed conditional - replaced equality check with true → KILLED
3.3 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] negated conditional → KILLED
|
| 125 |
|
1.1 Location : equals Killed by : none removed conditional - replaced equality check with false → NO_COVERAGE
2.2 Location : equals Killed by : none removed conditional - replaced equality check with true → NO_COVERAGE
3.3 Location : equals Killed by : none negated conditional → NO_COVERAGE
|
| 126 |
|
1.1 Location : equals Killed by : none Substituted 0 with 1 → NO_COVERAGE
2.2 Location : equals Killed by : none replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/BitChromosome::equals → NO_COVERAGE
|
| 127 |
|
1.1 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] removed conditional - replaced equality check with true → KILLED
2.2 Location : equals Killed by : none removed conditional - replaced equality check with false → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()]
3.3 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] negated conditional → KILLED
4.4 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] removed call to java/util/BitSet::equals → KILLED
|
| 128 |
|
1.1 Location : equals Killed by : none replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/BitChromosome::equals → NO_COVERAGE
2.2 Location : equals Killed by : none Substituted 0 with 1 → NO_COVERAGE
|
| 129 |
|
1.1 Location : equals Killed by : none removed conditional - replaced equality check with false → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()]
2.2 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] negated conditional → KILLED
3.3 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] removed conditional - replaced equality check with true → KILLED
|
| 130 |
|
1.1 Location : equals Killed by : none replaced boolean return with true for net/bmahe/genetics4j/core/chromosomes/BitChromosome::equals → NO_COVERAGE
2.2 Location : equals Killed by : none Substituted 0 with 1 → NO_COVERAGE
|
| 131 |
|
1.1 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] replaced boolean return with false for net/bmahe/genetics4j/core/chromosomes/BitChromosome::equals → KILLED
2.2 Location : equals Killed by : net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.chromosomes.BitChromosomeTest]/[method:simple()] Substituted 1 with 0 → KILLED
|
| 136 |
|
1.1 Location : toString Killed by : none removed call to java/lang/String::valueOf → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testPreEvaluationSetsUpComparator()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testCustomPrettyPrinter()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testDefaultPrettyPrinter()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testConvenienceConstructor()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testSingleIndividual()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testZeroSkipLogsEveryGeneration()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testCustomComparator()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testStringFitnessType()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testCustomComparator()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testThreadNameInOutput()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testTopNLargerThanPopulation()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testTimestampInOutput()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testUsesEAConfigurationComparatorWhenUserComparatorIsNull()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testCompletionStatus()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testLargeSkipValue()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testWithAllConstructorParameters()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testBasicFunctionality()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testBasicTopNLogging()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testCustomPrettyPrinter()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testStringFitnessType()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testCustomFitnessType()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testTopNLargerThanPopulation()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testGenerationSkipping()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testTopNFunctionality()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testCustomFitnessType()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testPreEvaluationConfiguresComparator()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testGenerationSkipping()]
2.2 Location : toString Killed by : none replaced return value with "" for net/bmahe/genetics4j/core/chromosomes/BitChromosome::toString → SURVIVED
Covering tests
Covered by tests:
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testPreEvaluationSetsUpComparator()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testCustomPrettyPrinter()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testDefaultPrettyPrinter()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testConvenienceConstructor()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testSingleIndividual()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testZeroSkipLogsEveryGeneration()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testCustomComparator()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testStringFitnessType()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testCustomComparator()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testThreadNameInOutput()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testTopNLargerThanPopulation()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testTimestampInOutput()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testUsesEAConfigurationComparatorWhenUserComparatorIsNull()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testCompletionStatus()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testLargeSkipValue()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testWithAllConstructorParameters()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testBasicFunctionality()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testBasicTopNLogging()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testCustomPrettyPrinter()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testStringFitnessType()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testCustomFitnessType()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testTopNLargerThanPopulation()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testGenerationSkipping()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testTopNFunctionality()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testCustomFitnessType()]
- net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.DefaultEvolutionListenerTest]/[method:testPreEvaluationConfiguresComparator()]
- net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest.[engine:junit-jupiter]/[class:net.bmahe.genetics4j.core.evolutionlisteners.EvolutionListenerLogTopNTest]/[method:testGenerationSkipping()]
|