Skip to content

Commit 2a1419c

Browse files
committed
- F transformTo(A,B)
1 parent 1da0c86 commit 2a1419c

File tree

4 files changed

+19
-3
lines changed

4 files changed

+19
-3
lines changed

approvaltests-tests/src/test/java/org/approvaltests/Parse1InputTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ void testSimpleString()
1414
b -> B
1515
""";
1616
ParseInput.from(expected).verifyAll(String::toUpperCase);
17+
Approvals.verifyAll(ParseInput.from(expected).getInputs(), s -> s + " -> " + s.toUpperCase(),
18+
new Options().inline(expected));
1719
}
1820
@Test
1921
void testWithTypesTransformersAndBoth()

approvaltests-tests/src/test/java/org/approvaltests/Parse2InputTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ void testWithTypesTransformersAndBoth()
1212
1,3.3 -> 3.3
1313
""";
1414
ParseInput.from(expected).withTypes(Integer.class, Double.class).verifyAll(t -> t.getFirst() * t.getSecond());
15-
// TODO: continue here
16-
// ParseInput.from(expected).transformTo(Integer::parseInt).verifyAll(Integer::toBinaryString);
17-
// ParseInput.from(expected).withTypes(String.class).transformTo(Integer::parseInt).verifyAll(Integer::toBinaryString);
15+
ParseInput.from(expected).transformTo(Integer::parseInt, Double::parseDouble).verifyAll(t -> t.getFirst() * t.getSecond());
16+
// ParseInput.from(expected).withTypes(String.class).transformTo(Integer::parseInt)
17+
// .verifyAll(Integer::toBinaryString);
1818
}
1919
}

approvaltests-tests/src/test/java/org/approvaltests/ParseInput.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,11 @@ public <T1, T2> ParseInputWith2Parameters<T1, T2, Tuple<T1, T2>> withTypes(Class
9898
{
9999
return ParseInputWith2Parameters.create(expected, type1, type2);
100100
}
101+
public <T1, T2> ParseInputWith2Parameters<T1, T2, Tuple<T1, T2>> transformTo(Function1<String, T1> transformer1, Function1<String, T2> transformer2)
102+
{
103+
return ParseInputWith2Parameters.create(expected, transformer1, transformer2);
104+
105+
}
101106
public ParseInput<OUT> multiline()
102107
{
103108
this.multiline = true;
@@ -107,4 +112,8 @@ public <OUT> ParseInputWith1Parameters<OUT> transformTo(Function1<String, OUT> t
107112
{
108113
return new ParseInputWith1Parameters<>(expected, transformer);
109114
}
115+
public Queryable<OUT> getInputs()
116+
{
117+
return parse().select(Tuple::getSecond);
118+
}
110119
}

approvaltests-tests/src/test/java/org/approvaltests/ParseInputWith2Parameters.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ public static <IN1, IN2> ParseInputWith2Parameters<IN1, IN2, Tuple<IN1, IN2>> cr
2020
{
2121
Function1<String, IN1> t1 = getTransformerForClass(type1);
2222
Function1<String, IN2> t2 = getTransformerForClass(type2);
23+
return create(expected, t1, t2);
24+
}
25+
public static <IN1, IN2> ParseInputWith2Parameters<IN1, IN2, Tuple<IN1, IN2>> create(String expected,
26+
Function1<String, IN1> t1, Function1<String, IN2> t2)
27+
{
2328
Function1<String, Tuple<IN1, IN2>> f = s -> {
2429
var temp = Queryable.as(s.split(",")).select(String::trim);
2530
IN1 v1 = t1.call(temp.get(0));

0 commit comments

Comments
 (0)