AbstractDecimalFormatter.java

1
/*
2
 * Copyright 2004 the original author or authors.
3
 *
4
 * Licensed under the Apache License, Version 2.0 (the "License");
5
 * you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at
7
 *
8
 *     http://www.apache.org/licenses/LICENSE-2.0
9
 *
10
 * Unless required by applicable law or agreed to in writing, software
11
 * distributed under the License is distributed on an "AS IS" BASIS,
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 * See the License for the specific language governing permissions and
14
 * limitations under the License.
15
 */
16
package com.ancientprogramming.fixedformat4j.format.impl;
17
18
import com.ancientprogramming.fixedformat4j.format.FormatInstructions;
19
import org.apache.commons.lang3.StringUtils;
20
import org.slf4j.Logger;
21
import org.slf4j.LoggerFactory;
22
23
import java.math.BigDecimal;
24
import java.math.RoundingMode;
25
import java.text.DecimalFormat;
26
27
/**
28
 * Base class for formatting decimal data
29
 *
30
 * @author Jacob von Eyben - <a href="https://eybenconsult.com">https://eybenconsult.com</a>
31
 * @since 1.0.0
32
 */
33
public abstract class AbstractDecimalFormatter<T extends Number> extends AbstractNumberFormatter<T> {
34
35
  private static final Logger LOG = LoggerFactory.getLogger(AbstractDecimalFormatter.class);
36
37
  /** {@inheritDoc} */
38
  public String asString(T obj, FormatInstructions instructions) {
39
    BigDecimal roundedValue = null;
40 2 1. asString : removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatDecimalData::getDecimals → KILLED
2. asString : removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatDecimalData → KILLED
    int decimals = instructions.getFixedFormatDecimalData().getDecimals();
41 3 1. asString : removed conditional - replaced equality check with true → KILLED
2. asString : negated conditional → KILLED
3. asString : removed conditional - replaced equality check with false → KILLED
    if (obj != null) {
42 5 1. asString : removed conditional - replaced equality check with false → SURVIVED
2. asString : removed call to java/math/BigDecimal::valueOf → KILLED
3. asString : negated conditional → KILLED
4. asString : removed call to java/lang/Number::doubleValue → KILLED
5. asString : removed conditional - replaced equality check with true → KILLED
      BigDecimal value = obj instanceof BigDecimal ? (BigDecimal)obj : BigDecimal.valueOf(obj.doubleValue());
43
44 2 1. asString : removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatDecimalData::getRoundingMode → KILLED
2. asString : removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatDecimalData → KILLED
      RoundingMode roundingMode = instructions.getFixedFormatDecimalData().getRoundingMode();
45
46 2 1. asString : removed call to java/math/BigDecimal::setScale → KILLED
2. asString : replaced call to java/math/BigDecimal::setScale with receiver → KILLED
      roundedValue = value.setScale(decimals, roundingMode);
47
48
      if (LOG.isDebugEnabled()) {
49
        LOG.debug("Value before rounding = '{}', value after rounding = '{}', decimals = {}, rounding mode = {}", value, roundedValue, decimals, roundingMode);
50
      }
51
    }
52
       
53 1 1. asString : removed call to java/text/DecimalFormat::<init> → KILLED
    DecimalFormat formatter = new DecimalFormat();
54 2 1. asString : removed call to java/text/DecimalFormat::setDecimalSeparatorAlwaysShown → KILLED
2. asString : Substituted 1 with 0 → KILLED
    formatter.setDecimalSeparatorAlwaysShown(true);
55 1 1. asString : removed call to java/text/DecimalFormat::setMaximumFractionDigits → KILLED
    formatter.setMaximumFractionDigits(decimals);
56
57 2 1. asString : removed call to java/text/DecimalFormatSymbols::getDecimalSeparator → KILLED
2. asString : removed call to java/text/DecimalFormat::getDecimalFormatSymbols → KILLED
    char decimalSeparator = formatter.getDecimalFormatSymbols().getDecimalSeparator();
58 2 1. asString : removed call to java/text/DecimalFormatSymbols::getGroupingSeparator → KILLED
2. asString : removed call to java/text/DecimalFormat::getDecimalFormatSymbols → KILLED
    char groupingSeparator = formatter.getDecimalFormatSymbols().getGroupingSeparator();
59 5 1. asString : removed call to java/lang/Character::valueOf → KILLED
2. asString : Substituted 1 with 0 → KILLED
3. asString : Substituted 0 with 1 → KILLED
4. asString : replaced call to java/lang/String::format with argument → KILLED
5. asString : removed call to java/lang/String::format → KILLED
    String zeroString = String.format("0%c0", decimalSeparator);
60
61 4 1. asString : negated conditional → KILLED
2. asString : removed conditional - replaced equality check with false → KILLED
3. asString : removed conditional - replaced equality check with true → KILLED
4. asString : removed call to java/text/DecimalFormat::format → KILLED
    String rawString = roundedValue != null ? formatter.format(roundedValue) : zeroString;
62
    if (LOG.isDebugEnabled()) {
63
      LOG.debug("rawString: {} - G[{}] D[{}]", rawString, groupingSeparator, decimalSeparator);
64
    }
65 3 1. asString : removed call to java/lang/String::replaceAll → KILLED
2. asString : replaced call to java/lang/String::replaceAll with receiver → KILLED
3. asString : replaced call to java/lang/String::replaceAll with argument → KILLED
    rawString = rawString.replaceAll("\\" + groupingSeparator, "");
66 2 1. asString : removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatDecimalData::isUseDecimalDelimiter → KILLED
2. asString : removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatDecimalData → KILLED
    boolean useDecimalDelimiter = instructions.getFixedFormatDecimalData().isUseDecimalDelimiter();
67
68 2 1. asString : replaced call to java/lang/String::indexOf with argument → KILLED
2. asString : removed call to java/lang/String::indexOf → KILLED
    int separatorIdx = rawString.indexOf(decimalSeparator);
69 3 1. asString : Substituted 0 with 1 → KILLED
2. asString : removed call to java/lang/String::substring → KILLED
3. asString : replaced call to java/lang/String::substring with receiver → KILLED
    String beforeDelimiter = rawString.substring(0, separatorIdx);
70 4 1. asString : Substituted 1 with 0 → KILLED
2. asString : removed call to java/lang/String::substring → KILLED
3. asString : replaced call to java/lang/String::substring with receiver → KILLED
4. asString : Replaced integer addition with subtraction → KILLED
    String afterDelimiter = rawString.substring(separatorIdx + 1);
71
    if (LOG.isDebugEnabled()) {
72
      LOG.debug("beforeDelimiter[{}], afterDelimiter[{}]", beforeDelimiter, afterDelimiter);
73
    }
74
75
    //trim decimals
76 3 1. asString : replaced call to org/apache/commons/lang3/StringUtils::substring with argument → SURVIVED
2. asString : removed call to org/apache/commons/lang3/StringUtils::substring → KILLED
3. asString : Substituted 0 with 1 → KILLED
    afterDelimiter = StringUtils.substring(afterDelimiter, 0, decimals);
77 3 1. asString : replaced call to org/apache/commons/lang3/StringUtils::rightPad with argument → KILLED
2. asString : removed call to org/apache/commons/lang3/StringUtils::rightPad → KILLED
3. asString : Substituted 48 with 49 → KILLED
    afterDelimiter = StringUtils.rightPad(afterDelimiter, decimals, '0');
78
79 6 1. asString : removed conditional - replaced equality check with true → KILLED
2. asString : removed call to java/lang/String::valueOf → KILLED
3. asString : removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatDecimalData::getDecimalDelimiter → KILLED
4. asString : removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatDecimalData → KILLED
5. asString : negated conditional → KILLED
6. asString : removed conditional - replaced equality check with false → KILLED
    String delimiter = useDecimalDelimiter ? String.valueOf(instructions.getFixedFormatDecimalData().getDecimalDelimiter()) : "";
80
    String result = beforeDelimiter + delimiter + afterDelimiter;
81
    if (LOG.isDebugEnabled()) {
82
      LOG.debug("result[{}]", result);
83
    }
84 1 1. asString : replaced return value with "" for com/ancientprogramming/fixedformat4j/format/impl/AbstractDecimalFormatter::asString → KILLED
    return result;
85
  }
86
 
87
  protected String getStringToConvert(String string, FormatInstructions instructions) {
88
    String toConvert = string;
89 2 1. getStringToConvert : removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatDecimalData → KILLED
2. getStringToConvert : removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatDecimalData::isUseDecimalDelimiter → KILLED
    boolean useDecimalDelimiter = instructions.getFixedFormatDecimalData().isUseDecimalDelimiter();
90 3 1. getStringToConvert : removed conditional - replaced equality check with true → SURVIVED
2. getStringToConvert : negated conditional → KILLED
3. getStringToConvert : removed conditional - replaced equality check with false → KILLED
    if (useDecimalDelimiter) {
91 2 1. getStringToConvert : removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatDecimalData::getDecimalDelimiter → KILLED
2. getStringToConvert : removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatDecimalData → KILLED
      char delimiter = instructions.getFixedFormatDecimalData().getDecimalDelimiter();
92 3 1. getStringToConvert : replaced call to java/lang/String::replace with receiver → KILLED
2. getStringToConvert : removed call to java/lang/String::replace → KILLED
3. getStringToConvert : removed call to java/lang/String::valueOf → KILLED
      toConvert = toConvert.replace(String.valueOf(delimiter), ""); //
93
    }
94 1 1. getStringToConvert : Substituted 0 with 1 → KILLED
    boolean applyNegativeSign = false;
95 2 1. getStringToConvert : removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatNumberData::getNegativeSign → KILLED
2. getStringToConvert : removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatNumberData → KILLED
    final Character negativeSignChar = instructions.getFixedFormatNumberData().getNegativeSign();
96 8 1. getStringToConvert : removed conditional - replaced equality check with true → SURVIVED
2. getStringToConvert : negated conditional → KILLED
3. getStringToConvert : removed call to java/lang/String::startsWith → KILLED
4. getStringToConvert : removed call to java/lang/Character::toString → KILLED
5. getStringToConvert : removed conditional - replaced equality check with true → KILLED
6. getStringToConvert : removed conditional - replaced equality check with false → KILLED
7. getStringToConvert : negated conditional → KILLED
8. getStringToConvert : removed conditional - replaced equality check with false → KILLED
    if (negativeSignChar != null && toConvert.startsWith(negativeSignChar.toString())) {
97 4 1. getStringToConvert : removed call to java/lang/String::replaceFirst → KILLED
2. getStringToConvert : replaced call to java/lang/String::replaceFirst with argument → KILLED
3. getStringToConvert : removed call to java/lang/Character::toString → KILLED
4. getStringToConvert : replaced call to java/lang/String::replaceFirst with receiver → KILLED
      toConvert = toConvert.replaceFirst(negativeSignChar.toString(), "");
98 1 1. getStringToConvert : Substituted 1 with 0 → KILLED
      applyNegativeSign = true;
99
    }
100
101 2 1. getStringToConvert : removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatDecimalData::getDecimals → KILLED
2. getStringToConvert : removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatDecimalData → KILLED
    int decimals = instructions.getFixedFormatDecimalData().getDecimals();
102 1 1. getStringToConvert : removed call to java/lang/String::matches → KILLED
    final boolean theZeroString = toConvert.matches("^[0]+$");
103
    //only change the string to convert if data contains decimals AND is not the zero string
104 7 1. getStringToConvert : changed conditional boundary → SURVIVED
2. getStringToConvert : removed conditional - replaced comparison check with true → SURVIVED
3. getStringToConvert : negated conditional → KILLED
4. getStringToConvert : removed conditional - replaced comparison check with false → KILLED
5. getStringToConvert : removed conditional - replaced equality check with true → KILLED
6. getStringToConvert : removed conditional - replaced equality check with false → KILLED
7. getStringToConvert : negated conditional → KILLED
    if (decimals > 0 && !theZeroString) {
105
      //ensuring the string to convert is at least as long as the decimals length
106 2 1. getStringToConvert : replaced call to org/apache/commons/lang3/StringUtils::leftPad with argument → KILLED
2. getStringToConvert : removed call to org/apache/commons/lang3/StringUtils::leftPad → KILLED
      toConvert = StringUtils.leftPad(toConvert, decimals, "0");
107 2 1. getStringToConvert : removed call to java/lang/String::length → KILLED
2. getStringToConvert : Replaced integer subtraction with addition → KILLED
      int pivot = toConvert.length() - decimals;
108 5 1. getStringToConvert : removed call to java/lang/String::substring → KILLED
2. getStringToConvert : replaced call to java/lang/String::substring with receiver → KILLED
3. getStringToConvert : removed call to java/lang/String::substring → KILLED
4. getStringToConvert : Substituted 0 with 1 → KILLED
5. getStringToConvert : replaced call to java/lang/String::substring with receiver → KILLED
      toConvert = toConvert.substring(0, pivot) + '.' + toConvert.substring(pivot);
109
    }
110 3 1. getStringToConvert : removed conditional - replaced equality check with true → KILLED
2. getStringToConvert : negated conditional → KILLED
3. getStringToConvert : removed conditional - replaced equality check with false → KILLED
    if (applyNegativeSign) {
111 3 1. getStringToConvert : removed call to java/lang/String::concat → KILLED
2. getStringToConvert : replaced call to java/lang/String::concat with receiver → KILLED
3. getStringToConvert : replaced call to java/lang/String::concat with argument → KILLED
      toConvert = "-".concat(toConvert);
112
    }
113 1 1. getStringToConvert : replaced return value with "" for com/ancientprogramming/fixedformat4j/format/impl/AbstractDecimalFormatter::getStringToConvert → KILLED
    return toConvert;
114
  }
115
}

Mutations

40

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatDecimalData::getDecimals → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatDecimalData → KILLED

41

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter]/[method:testFormat()]
removed conditional - replaced equality check with true → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
negated conditional → KILLED

3.3
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed conditional - replaced equality check with false → KILLED

42

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to java/math/BigDecimal::valueOf → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
negated conditional → KILLED

3.3
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to java/lang/Number::doubleValue → KILLED

4.4
Location : asString
Killed by : none
removed conditional - replaced equality check with false → SURVIVED
Covering tests

5.5
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed conditional - replaced equality check with true → KILLED

44

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatDecimalData::getRoundingMode → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatDecimalData → KILLED

46

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to java/math/BigDecimal::setScale → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter]/[method:testRoundingModeFloor()]
replaced call to java/math/BigDecimal::setScale with receiver → KILLED

53

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to java/text/DecimalFormat::<init> → KILLED

54

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#4]
removed call to java/text/DecimalFormat::setDecimalSeparatorAlwaysShown → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#4]
Substituted 1 with 0 → KILLED

55

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to java/text/DecimalFormat::setMaximumFractionDigits → KILLED

57

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to java/text/DecimalFormatSymbols::getDecimalSeparator → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to java/text/DecimalFormat::getDecimalFormatSymbols → KILLED

58

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter]/[method:testFormatBigDecimalWith4DecimalsKeepAllDecimalsNoDecimalDelimiter()]
removed call to java/text/DecimalFormatSymbols::getGroupingSeparator → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to java/text/DecimalFormat::getDecimalFormatSymbols → KILLED

59

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter]/[method:testFormat()]
removed call to java/lang/Character::valueOf → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
Substituted 1 with 0 → KILLED

3.3
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
Substituted 0 with 1 → KILLED

4.4
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter]/[method:testFormat()]
replaced call to java/lang/String::format with argument → KILLED

5.5
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter]/[method:testFormat()]
removed call to java/lang/String::format → KILLED

61

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
negated conditional → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter]/[method:testFormat()]
removed conditional - replaced equality check with true → KILLED

4.4
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to java/text/DecimalFormat::format → KILLED

65

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to java/lang/String::replaceAll → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter]/[method:testFormatBigDecimalWith4DecimalsKeepAllDecimalsNoDecimalDelimiter()]
replaced call to java/lang/String::replaceAll with receiver → KILLED

3.3
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
replaced call to java/lang/String::replaceAll with argument → KILLED

66

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter]/[method:testFormatBigDecimalWith5DecimalsTo4DecimalsUseDecimalDelimiter()]
removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatDecimalData::isUseDecimalDelimiter → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatDecimalData → KILLED

68

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
replaced call to java/lang/String::indexOf with argument → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to java/lang/String::indexOf → KILLED

69

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
Substituted 0 with 1 → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to java/lang/String::substring → KILLED

3.3
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
replaced call to java/lang/String::substring with receiver → KILLED

70

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
Substituted 1 with 0 → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to java/lang/String::substring → KILLED

3.3
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
replaced call to java/lang/String::substring with receiver → KILLED

4.4
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
Replaced integer addition with subtraction → KILLED

76

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to org/apache/commons/lang3/StringUtils::substring → KILLED

2.2
Location : asString
Killed by : none
replaced call to org/apache/commons/lang3/StringUtils::substring with argument → SURVIVED
Covering tests

3.3
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
Substituted 0 with 1 → KILLED

77

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#9]
replaced call to org/apache/commons/lang3/StringUtils::rightPad with argument → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed call to org/apache/commons/lang3/StringUtils::rightPad → KILLED

3.3
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#9]
Substituted 48 with 49 → KILLED

79

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
removed conditional - replaced equality check with true → KILLED

2.2
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter]/[method:testFormatBigDecimalWith4DecimalsKeepAllDecimalsUseDecimalDelimiter()]
removed call to java/lang/String::valueOf → KILLED

3.3
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter]/[method:testFormatBigDecimalWith4DecimalsKeepAllDecimalsUseDecimalDelimiter()]
removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatDecimalData::getDecimalDelimiter → KILLED

4.4
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter]/[method:testFormatBigDecimalWith4DecimalsKeepAllDecimalsUseDecimalDelimiter()]
removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatDecimalData → KILLED

5.5
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
negated conditional → KILLED

6.6
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter]/[method:testFormatBigDecimalWith5DecimalsTo4DecimalsUseDecimalDelimiter()]
removed conditional - replaced equality check with false → KILLED

84

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestDoubleFormatter]/[method:testFormatDoubleWith4DecimalsKeepAllDecimals()]
replaced return value with "" for com/ancientprogramming/fixedformat4j/format/impl/AbstractDecimalFormatter::asString → KILLED

89

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatDecimalData → KILLED

2.2
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter]/[method:testParse()]
removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatDecimalData::isUseDecimalDelimiter → KILLED

90

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter]/[method:testParse()]
negated conditional → KILLED

2.2
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestFloatFormatter]/[method:testParse()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : getStringToConvert
Killed by : none
removed conditional - replaced equality check with true → SURVIVED
Covering tests

91

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#7]
removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatDecimalData::getDecimalDelimiter → KILLED

2.2
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#7]
removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatDecimalData → KILLED

92

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#7]
replaced call to java/lang/String::replace with receiver → KILLED

2.2
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#7]
removed call to java/lang/String::replace → KILLED

3.3
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#7]
removed call to java/lang/String::valueOf → KILLED

94

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
Substituted 0 with 1 → KILLED

95

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter]/[method:testParse()]
removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatNumberData::getNegativeSign → KILLED

2.2
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatNumberData → KILLED

96

1.1
Location : getStringToConvert
Killed by : none
removed conditional - replaced equality check with true → SURVIVED
Covering tests

2.2
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
negated conditional → KILLED

3.3
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter]/[method:testParse()]
removed call to java/lang/String::startsWith → KILLED

4.4
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
removed call to java/lang/Character::toString → KILLED

5.5
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
removed conditional - replaced equality check with true → KILLED

6.6
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter]/[method:testParse()]
removed conditional - replaced equality check with false → KILLED

7.7
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter]/[method:testParse()]
negated conditional → KILLED

8.8
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBigDecimalFormatter]/[method:testParse()]
removed conditional - replaced equality check with false → KILLED

97

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#9]
removed call to java/lang/String::replaceFirst → KILLED

2.2
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#9]
replaced call to java/lang/String::replaceFirst with argument → KILLED

3.3
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#9]
removed call to java/lang/Character::toString → KILLED

4.4
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#9]
replaced call to java/lang/String::replaceFirst with receiver → KILLED

98

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#9]
Substituted 1 with 0 → KILLED

101

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatDecimalData::getDecimals → KILLED

2.2
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatDecimalData → KILLED

102

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#8]
removed call to java/lang/String::matches → KILLED

104

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
negated conditional → KILLED

2.2
Location : getStringToConvert
Killed by : none
changed conditional boundary → SURVIVED
Covering tests

3.3
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
removed conditional - replaced comparison check with false → KILLED

4.4
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#8]
removed conditional - replaced equality check with true → KILLED

5.5
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
removed conditional - replaced equality check with false → KILLED

6.6
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
negated conditional → KILLED

7.7
Location : getStringToConvert
Killed by : none
removed conditional - replaced comparison check with true → SURVIVED Covering tests

106

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
replaced call to org/apache/commons/lang3/StringUtils::leftPad with argument → KILLED

2.2
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
removed call to org/apache/commons/lang3/StringUtils::leftPad → KILLED

107

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
removed call to java/lang/String::length → KILLED

2.2
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
Replaced integer subtraction with addition → KILLED

108

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
removed call to java/lang/String::substring → KILLED

2.2
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
replaced call to java/lang/String::substring with receiver → KILLED

3.3
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
removed call to java/lang/String::substring → KILLED

4.4
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
Substituted 0 with 1 → KILLED

5.5
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
replaced call to java/lang/String::substring with receiver → KILLED

110

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
removed conditional - replaced equality check with true → KILLED

2.2
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
negated conditional → KILLED

3.3
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#9]
removed conditional - replaced equality check with false → KILLED

111

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#9]
removed call to java/lang/String::concat → KILLED

2.2
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#9]
replaced call to java/lang/String::concat with receiver → KILLED

3.3
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanNumberDecimalFormatting]/[test-template:formatsAndParsesBigDecimalWithDecimalData(int, boolean, char, java.math.RoundingMode, int, com.ancientprogramming.fixedformat4j.annotation.Align, char, java.math.BigDecimal, java.lang.String)]/[test-template-invocation:#9]
replaced call to java/lang/String::concat with argument → KILLED

113

1.1
Location : getStringToConvert
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestByTypeFormatter]/[method:testDispatchesToDoubleFormatter()]
replaced return value with "" for com/ancientprogramming/fixedformat4j/format/impl/AbstractDecimalFormatter::getStringToConvert → KILLED

Active mutators

Tests examined


Report generated by PIT 1.23.1 support