Skip to content

Commit 7717338

Browse files
committed
. r Parse2Inputs to always return a tuple
1 parent ef1be47 commit 7717338

File tree

3 files changed

+30
-14
lines changed

3 files changed

+30
-14
lines changed

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,20 @@ 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+
ParseInput.from(expected).withTypes(Integer.class, Double.class).verifyAll((i,d) -> i * d);
1516
ParseInput.from(expected).transformTo(Integer::parseInt, Double::parseDouble).verifyAll(t -> t.getFirst() * t.getSecond());
17+
18+
19+
20+
21+
22+
23+
24+
25+
26+
27+
28+
1629
// ParseInput.from(expected).withTypes(String.class).transformTo(Integer::parseInt)
1730
// .verifyAll(Integer::toBinaryString);
1831
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,12 +96,12 @@ public void verifyAll(Function1<OUT, Object> transform)
9696
Approvals.verifyAll("", parse(), s -> print(s.getFirst(), transform.call(s.getSecond())),
9797
new Options().inline(expected));
9898
}
99-
public <T1, T2> ParseInputWith2Parameters<T1, T2, Tuple<T1, T2>> withTypes(Class<T1> type1, Class<T2> type2)
99+
public <T1, T2> ParseInputWith2Parameters<T1, T2> withTypes(Class<T1> type1, Class<T2> type2)
100100
{
101101
return ParseInputWith2Parameters.create(expected, getTransformerForClass(type1),
102102
getTransformerForClass(type2));
103103
}
104-
public <T1, T2> ParseInputWith2Parameters<T1, T2, Tuple<T1, T2>> transformTo(Function1<String, T1> transformer1,
104+
public <T1, T2> ParseInputWith2Parameters<T1, T2> transformTo(Function1<String, T1> transformer1,
105105
Function1<String, T2> transformer2)
106106
{
107107
return ParseInputWith2Parameters.create(expected, transformer1, transformer2);

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

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22

33
import com.spun.util.Tuple;
44
import org.lambda.functions.Function1;
5+
import org.lambda.functions.Function2;
56
import org.lambda.query.Queryable;
67

7-
public class ParseInputWith2Parameters<IN1, IN2, OUT>
8+
public class ParseInputWith2Parameters<IN1, IN2>
89
{
910
private final String expected;
10-
private final Function1<String, OUT> transformer;
11-
public ParseInputWith2Parameters(String expected, Function1<String, OUT> transformer)
11+
private final Function1<String, Tuple<IN1, IN2>> transformer;
12+
public ParseInputWith2Parameters(String expected, Function1<String, Tuple<IN1, IN2>> transformer)
1213
{
1314
this.expected = expected;
1415
this.transformer = transformer;
1516
}
16-
17-
public static <IN1, IN2> ParseInputWith2Parameters<IN1, IN2, Tuple<IN1, IN2>> create(String expected,
17+
public static <IN1, IN2> ParseInputWith2Parameters<IN1, IN2> create(String expected,
1818
Function1<String, IN1> t1, Function1<String, IN2> t2)
1919
{
2020
Function1<String, Tuple<IN1, IN2>> f = s -> {
@@ -25,13 +25,16 @@ public static <IN1, IN2> ParseInputWith2Parameters<IN1, IN2, Tuple<IN1, IN2>> cr
2525
};
2626
return new ParseInputWith2Parameters<>(expected, f);
2727
}
28-
// public <OUT2> ParseInputWith2Parameters<OUT2> transformTo(Function1<IN1, OUT2> transformer1)
29-
// {
30-
// Function1<String, OUT2> transformer2 = (String t) -> transformer1.call(transformer.call(t));
31-
// return new ParseInputWith2Parameters<>(expected, transformer2);
32-
// }
33-
public void verifyAll(Function1<OUT, Object> transform)
28+
public void verifyAll(Function1<Tuple<IN1, IN2>, Object> transform)
29+
{
30+
getParseInput().verifyAll(transform);
31+
}
32+
public void verifyAll(Function2<IN1, IN2, Object> transform)
33+
{
34+
getParseInput().verifyAll((t) -> transform.call(t.getFirst(), t.getSecond()));
35+
}
36+
private ParseInput<Tuple<IN1, IN2>> getParseInput()
3437
{
35-
new ParseInput<OUT>(expected, s -> new Tuple<>(s, transformer.call(s))).verifyAll(transform);
38+
return new ParseInput<>(expected, s -> new Tuple<>(s, transformer.call(s)));
3639
}
3740
}

0 commit comments

Comments
 (0)