StringTransformer.java

1
package com.github.dakusui.pcond.core.fluent.builtins;
2
3
import com.github.dakusui.pcond.core.fluent.AbstractObjectTransformer;
4
import com.github.dakusui.pcond.forms.Functions;
5
import com.github.dakusui.pcond.forms.Printables;
6
7
import java.util.function.Function;
8
import java.util.function.Predicate;
9
import java.util.function.Supplier;
10
11
import static com.github.dakusui.pcond.internals.InternalUtils.trivialIdentityFunction;
12
import static java.util.Arrays.asList;
13
import static java.util.Objects.requireNonNull;
14
15
public interface StringTransformer<T> extends
16
    AbstractObjectTransformer<
17
        StringTransformer<T>,
18
        StringChecker<T>,
19
        T,
20
        String> {
21
  static StringTransformer<String> create(Supplier<String> value) {
22 1 1. create : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::create → KILLED
    return new Impl<>(value, trivialIdentityFunction());
23
  }
24
25
  default StringTransformer<T> substring(int begin) {
26 3 1. lambda$substring$0 : replaced return value with "" for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::lambda$substring$0 → SURVIVED
2. lambda$substring$1 : replaced return value with "" for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::lambda$substring$1 → NO_COVERAGE
3. substring : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::substring → KILLED
    return this.toString(Printables.function(() -> "substring[" + begin + "]", (String s) -> s.substring(begin)));
27
  }
28
29
  default StringTransformer<T> toUpperCase() {
30 1 1. toUpperCase : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::toUpperCase → KILLED
    return this.toString(Printables.function("toUpperCase", String::toUpperCase));
31
  }
32
33
  default StringTransformer<T> toLowerCase() {
34 1 1. toLowerCase : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::toLowerCase → KILLED
    return this.toString(Printables.function("toLowerCase", String::toLowerCase));
35
  }
36
37
  default ListTransformer<T, String> split(String regex) {
38 2 1. lambda$split$2 : replaced return value with Collections.emptyList for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::lambda$split$2 → NO_COVERAGE
2. split : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::split → KILLED
    return this.toList(Printables.function("split[" + regex + "]", (String s) -> asList((s.split(regex)))));
39
  }
40
41
  default IntegerTransformer<T> length() {
42 1 1. length : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::length → KILLED
    return toInteger(Functions.length());
43
  }
44
45
  default BooleanTransformer<T> parseBoolean() {
46 1 1. parseBoolean : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::parseBoolean → KILLED
    return toBoolean(Printables.function("parseBoolean", Boolean::parseBoolean));
47
  }
48
49
  default IntegerTransformer<T> parseInt() {
50 1 1. parseInt : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::parseInt → KILLED
    return toInteger(Printables.function("parseInt", Integer::parseInt));
51
  }
52
53
  default LongTransformer<T> parseLong() {
54 1 1. parseLong : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::parseLong → KILLED
    return toLong(Printables.function("parseLong", Long::parseLong));
55
  }
56
57
  default ShortTransformer<T> parseShort() {
58 1 1. parseShort : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::parseShort → KILLED
    return toShort(Printables.function("parseBoolean", Short::parseShort));
59
  }
60
61
  default DoubleTransformer<T> parseDouble() {
62 1 1. parseDouble : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::parseDouble → KILLED
    return toDouble(Printables.function("parseDouble", Double::parseDouble));
63
  }
64
65
  default FloatTransformer<T> parseFloat() {
66 1 1. parseFloat : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::parseFloat → KILLED
    return toFloat(Printables.function("parseFloat", Float::parseFloat));
67
  }
68
69
  @SuppressWarnings("unchecked")
70
  default StringTransformer<T> transform(Function<StringTransformer<String>, Predicate<String>> clause) {
71
    requireNonNull(clause);
72 2 1. lambda$transform$3 : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::lambda$transform$3 → KILLED
2. transform : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::transform → KILLED
    return this.addTransformAndCheckClause(tx -> clause.apply((StringTransformer<String>) tx));
73
  }
74
75
  class Impl<T> extends
76
      Base<
77
          StringTransformer<T>,
78
          StringChecker<T>,
79
          T,
80
          String> implements
81
      StringTransformer<T> {
82
83
    public Impl(Supplier<T> rootValue, Function<T, String> transformFunction) {
84
      super(rootValue, transformFunction);
85
    }
86
87
    @Override
88
    public StringChecker<T> toChecker(Function<T, String> transformFunction) {
89 1 1. toChecker : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer$Impl::toChecker → KILLED
      return new StringChecker.Impl<>(this::baseValue, requireNonNull(transformFunction));
90
    }
91
92
    @Override
93
    public StringTransformer<String> rebase() {
94 1 1. rebase : replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer$Impl::rebase → KILLED
      return new StringTransformer.Impl<>(this::value, trivialIdentityFunction());
95
    }
96
  }
97
}

Mutations

22

1.1
Location : create
Killed by : com.github.dakusui.ut.thincrest.ut.styles.MoreFluentStringTest.test_isEmpty(com.github.dakusui.ut.thincrest.ut.styles.MoreFluentStringTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::create → KILLED

26

1.1
Location : lambda$substring$0
Killed by : none
replaced return value with "" for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::lambda$substring$0 → SURVIVED

2.2
Location : lambda$substring$1
Killed by : none
replaced return value with "" for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::lambda$substring$1 → NO_COVERAGE

3.3
Location : substring
Killed by : com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest.exerciseTestCase[28: Given:<"456">:When::Then:greaterThan(1), numbersOfExpectAndActualSummaries=>areEqual, numbersOfExpectAndActualSummariesWithDetails=>areEqual, numberOfExpectDetails=>greaterThan(1), numbersOfExpectAndActualDetails=>areEqual]>](com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::substring → KILLED

30

1.1
Location : toUpperCase
Killed by : com.github.dakusui.ut.thincrest.ut.styles.MoreFluentStringTest.test_endingWith(com.github.dakusui.ut.thincrest.ut.styles.MoreFluentStringTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::toUpperCase → KILLED

34

1.1
Location : toLowerCase
Killed by : com.github.dakusui.ut.thincrest.ut.styles.FluentStyleTestAssertionTest$ForTestAssertionsTest.string_assertThatTest_passed(com.github.dakusui.ut.thincrest.ut.styles.FluentStyleTestAssertionTest$ForTestAssertionsTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::toLowerCase → KILLED

38

1.1
Location : lambda$split$2
Killed by : none
replaced return value with Collections.emptyList for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::lambda$split$2 → NO_COVERAGE

2.2
Location : split
Killed by : com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest.exerciseTestCase[28: Given:<"456">:When::Then:greaterThan(1), numbersOfExpectAndActualSummaries=>areEqual, numbersOfExpectAndActualSummariesWithDetails=>areEqual, numberOfExpectDetails=>greaterThan(1), numbersOfExpectAndActualDetails=>areEqual]>](com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::split → KILLED

42

1.1
Location : length
Killed by : com.github.dakusui.pcond.ut.fluent4.SmokeTest.givenBook_whenCheckTitleAndAbstract_thenTheyAreNotNullAndAppropriateLength_2(com.github.dakusui.pcond.ut.fluent4.SmokeTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::length → KILLED

46

1.1
Location : parseBoolean
Killed by : com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest.exerciseTestCase[28: Given:<"456">:When::Then:greaterThan(1), numbersOfExpectAndActualSummaries=>areEqual, numbersOfExpectAndActualSummariesWithDetails=>areEqual, numberOfExpectDetails=>greaterThan(1), numbersOfExpectAndActualDetails=>areEqual]>](com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::parseBoolean → KILLED

50

1.1
Location : parseInt
Killed by : com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest.exerciseTestCase[28: Given:<"456">:When::Then:greaterThan(1), numbersOfExpectAndActualSummaries=>areEqual, numbersOfExpectAndActualSummariesWithDetails=>areEqual, numberOfExpectDetails=>greaterThan(1), numbersOfExpectAndActualDetails=>areEqual]>](com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::parseInt → KILLED

54

1.1
Location : parseLong
Killed by : com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest.exerciseTestCase[28: Given:<"456">:When::Then:greaterThan(1), numbersOfExpectAndActualSummaries=>areEqual, numbersOfExpectAndActualSummariesWithDetails=>areEqual, numberOfExpectDetails=>greaterThan(1), numbersOfExpectAndActualDetails=>areEqual]>](com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::parseLong → KILLED

58

1.1
Location : parseShort
Killed by : com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest.exerciseTestCase[28: Given:<"456">:When::Then:greaterThan(1), numbersOfExpectAndActualSummaries=>areEqual, numbersOfExpectAndActualSummariesWithDetails=>areEqual, numberOfExpectDetails=>greaterThan(1), numbersOfExpectAndActualDetails=>areEqual]>](com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::parseShort → KILLED

62

1.1
Location : parseDouble
Killed by : com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest.exerciseTestCase[28: Given:<"456">:When::Then:greaterThan(1), numbersOfExpectAndActualSummaries=>areEqual, numbersOfExpectAndActualSummariesWithDetails=>areEqual, numberOfExpectDetails=>greaterThan(1), numbersOfExpectAndActualDetails=>areEqual]>](com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::parseDouble → KILLED

66

1.1
Location : parseFloat
Killed by : com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest.exerciseTestCase[28: Given:<"456">:When::Then:greaterThan(1), numbersOfExpectAndActualSummaries=>areEqual, numbersOfExpectAndActualSummariesWithDetails=>areEqual, numberOfExpectDetails=>greaterThan(1), numbersOfExpectAndActualDetails=>areEqual]>](com.github.dakusui.ut.valid8j.ut.styles.fluent.GeneralFluentTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::parseFloat → KILLED

72

1.1
Location : lambda$transform$3
Killed by : com.github.dakusui.pcond.ut.fluent4.SmokeTest.givenBook_whenCheckTitleAndAbstract_thenTheyAreNotNullAndAppropriateLength_2(com.github.dakusui.pcond.ut.fluent4.SmokeTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::lambda$transform$3 → KILLED

2.2
Location : transform
Killed by : com.github.dakusui.pcond.ut.fluent4.SmokeTest.givenBook_whenCheckTitleAndAbstract_thenTheyAreNotNullAndAppropriateLength_2(com.github.dakusui.pcond.ut.fluent4.SmokeTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer::transform → KILLED

89

1.1
Location : toChecker
Killed by : com.github.dakusui.ut.thincrest.ut.styles.MoreFluentStringTest.test_isEmpty(com.github.dakusui.ut.thincrest.ut.styles.MoreFluentStringTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer$Impl::toChecker → KILLED

94

1.1
Location : rebase
Killed by : com.github.dakusui.pcond.ut.fluent4.SmokeTest.givenBook_whenCheckTitleAndAbstract_thenTheyAreNotNullAndAppropriateLength_2(com.github.dakusui.pcond.ut.fluent4.SmokeTest)
replaced return value with null for com/github/dakusui/pcond/core/fluent/builtins/StringTransformer$Impl::rebase → KILLED

Active mutators

Tests examined


Report generated by PIT 1.7.3