BooleanFormatter.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.exception.FixedFormatException;
19
import com.ancientprogramming.fixedformat4j.format.AbstractFixedFormatter;
20
import com.ancientprogramming.fixedformat4j.format.FormatInstructions;
21
import org.apache.commons.lang3.StringUtils;
22
23
/**
24
 * Formatter for {@link Boolean} data
25
 *
26
 * @author Jacob von Eyben - <a href="https://eybenconsult.com">https://eybenconsult.com</a>
27
 * @since 1.0.0
28
 */
29
public class BooleanFormatter extends AbstractFixedFormatter<Boolean> {
30
31
  /** {@inheritDoc} */
32
  public Boolean asObject(String string, FormatInstructions instructions) throws FixedFormatException {
33 2 1. asObject : removed call to java/lang/Boolean::valueOf → KILLED
2. asObject : Substituted 0 with 1 → KILLED
    Boolean result = false;
34 4 1. asObject : removed conditional - replaced equality check with false → KILLED
2. asObject : negated conditional → KILLED
3. asObject : removed conditional - replaced equality check with true → KILLED
4. asObject : removed call to org/apache/commons/lang3/StringUtils::isEmpty → KILLED
    if (!StringUtils.isEmpty(string)) {
35 6 1. asObject : removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatBooleanData::getTrueValue → KILLED
2. asObject : removed call to java/lang/String::equals → KILLED
3. asObject : removed conditional - replaced equality check with true → KILLED
4. asObject : removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatBooleanData → KILLED
5. asObject : negated conditional → KILLED
6. asObject : removed conditional - replaced equality check with false → KILLED
      if (instructions.getFixedFormatBooleanData().getTrueValue().equals(string)) {
36 2 1. asObject : Substituted 1 with 0 → KILLED
2. asObject : removed call to java/lang/Boolean::valueOf → KILLED
        result = true;
37 6 1. asObject : removed conditional - replaced equality check with false → KILLED
2. asObject : removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatBooleanData → KILLED
3. asObject : negated conditional → KILLED
4. asObject : removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatBooleanData::getFalseValue → KILLED
5. asObject : removed call to java/lang/String::equals → KILLED
6. asObject : removed conditional - replaced equality check with true → KILLED
      } else if (instructions.getFixedFormatBooleanData().getFalseValue().equals(string)) {
38 2 1. asObject : removed call to java/lang/Boolean::valueOf → KILLED
2. asObject : Substituted 0 with 1 → KILLED
        result = false;
39
      } else {
40 7 1. asObject : Substituted 1 with 0 → SURVIVED
2. asObject : replaced call to java/lang/String::format with argument → SURVIVED
3. asObject : Substituted 0 with 1 → SURVIVED
4. asObject : Substituted 2 with 3 → SURVIVED
5. asObject : removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatBooleanData → SURVIVED
6. asObject : removed call to java/lang/String::format → SURVIVED
7. asObject : removed call to com/ancientprogramming/fixedformat4j/exception/FixedFormatException::<init> → KILLED
        throw new FixedFormatException(String.format("Could not convert string[%s] to boolean value according to booleanData[%s]", string, instructions.getFixedFormatBooleanData()));
41
      }
42
    }
43 1 1. asObject : replaced Boolean return with True for com/ancientprogramming/fixedformat4j/format/impl/BooleanFormatter::asObject → KILLED
    return result;
44
  }
45
46
  /** {@inheritDoc} */
47
  public String asString(Boolean obj, FormatInstructions instructions) {
48 2 1. asString : removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatBooleanData::getFalseValue → KILLED
2. asString : removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatBooleanData → KILLED
    String result = instructions.getFixedFormatBooleanData().getFalseValue();
49 3 1. asString : negated conditional → KILLED
2. asString : removed conditional - replaced equality check with true → KILLED
3. asString : removed conditional - replaced equality check with false → KILLED
    if (obj != null) {
50 8 1. asString : removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatBooleanData::getFalseValue → KILLED
2. asString : removed conditional - replaced equality check with false → KILLED
3. asString : removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatBooleanData → KILLED
4. asString : removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatBooleanData → KILLED
5. asString : negated conditional → KILLED
6. asString : removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatBooleanData::getTrueValue → KILLED
7. asString : removed call to java/lang/Boolean::booleanValue → KILLED
8. asString : removed conditional - replaced equality check with true → KILLED
      result = obj ? instructions.getFixedFormatBooleanData().getTrueValue() : instructions.getFixedFormatBooleanData().getFalseValue();
51
    }
52 1 1. asString : replaced return value with "" for com/ancientprogramming/fixedformat4j/format/impl/BooleanFormatter::asString → KILLED
    return result;
53
  }
54
55
}

Mutations

33

1.1
Location : asObject
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testAllSpaceStringReturnsFalse()]
removed call to java/lang/Boolean::valueOf → KILLED

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

34

1.1
Location : asObject
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testUnknownValueThrowsException()]
removed conditional - replaced equality check with false → KILLED

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

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

4.4
Location : asObject
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testAllSpaceStringReturnsFalse()]
removed call to org/apache/commons/lang3/StringUtils::isEmpty → KILLED

35

1.1
Location : asObject
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testUnknownValueThrowsException()]
removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatBooleanData::getTrueValue → KILLED

2.2
Location : asObject
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testParse()]
removed call to java/lang/String::equals → KILLED

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

4.4
Location : asObject
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testUnknownValueThrowsException()]
removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatBooleanData → KILLED

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

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

36

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

2.2
Location : asObject
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testParse()]
removed call to java/lang/Boolean::valueOf → KILLED

37

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

2.2
Location : asObject
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testUnknownValueThrowsException()]
removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatBooleanData → KILLED

3.3
Location : asObject
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testUnknownValueThrowsException()]
negated conditional → KILLED

4.4
Location : asObject
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testUnknownValueThrowsException()]
removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatBooleanData::getFalseValue → KILLED

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

6.6
Location : asObject
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testUnknownValueThrowsException()]
removed conditional - replaced equality check with true → KILLED

38

1.1
Location : asObject
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testParse()]
removed call to java/lang/Boolean::valueOf → KILLED

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

40

1.1
Location : asObject
Killed by : none
Substituted 1 with 0 → SURVIVED
Covering tests

2.2
Location : asObject
Killed by : none
replaced call to java/lang/String::format with argument → SURVIVED Covering tests

3.3
Location : asObject
Killed by : none
Substituted 0 with 1 → SURVIVED Covering tests

4.4
Location : asObject
Killed by : none
Substituted 2 with 3 → SURVIVED Covering tests

5.5
Location : asObject
Killed by : none
removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatBooleanData → SURVIVED Covering tests

6.6
Location : asObject
Killed by : none
removed call to java/lang/String::format → SURVIVED Covering tests

7.7
Location : asObject
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testUnknownValueThrowsException()]
removed call to com/ancientprogramming/fixedformat4j/exception/FixedFormatException::<init> → KILLED

43

1.1
Location : asObject
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testAllSpaceStringReturnsFalse()]
replaced Boolean return with True for com/ancientprogramming/fixedformat4j/format/impl/BooleanFormatter::asObject → KILLED

48

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testFormat()]
removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatBooleanData::getFalseValue → KILLED

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

49

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

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

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

50

1.1
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testFormat()]
removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatBooleanData::getFalseValue → KILLED

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

3.3
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testFormat()]
removed call to com/ancientprogramming/fixedformat4j/format/FormatInstructions::getFixedFormatBooleanData → KILLED

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

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

6.6
Location : asString
Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestBooleanFormatter]/[method:testFormat()]
removed call to com/ancientprogramming/fixedformat4j/format/data/FixedFormatBooleanData::getTrueValue → KILLED

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

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

52

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

Active mutators

Tests examined


Report generated by PIT 1.23.1 support