@@ -13,19 +13,21 @@ public class ParseInput<OUT>
1313 private final String expected ;
1414 private final Function1 <String , Tuple <String , OUT >> transformer ;
1515 private boolean multiline ;
16- public static ParseInput <String > from ( String expected )
16+ public ParseInput ( String expected , Function1 <String , Tuple < String , OUT >> transformer , boolean multiline )
1717 {
18- return new ParseInput <String >(expected , s -> new Tuple <>(s , s ));
18+ this .expected = expected ;
19+ this .transformer = transformer ;
20+ this .multiline = multiline ;
1921 }
20- public static < OUT > ParseInput < OUT > from (String expected , Function1 <String , OUT > transformer )
22+ ParseInput (String expected , Function1 <String , Tuple < String , OUT > > transformer )
2123 {
22- return new ParseInput < OUT > (expected , s -> new Tuple <>( s , transformer . call ( s )) );
24+ this (expected , transformer , false );
2325 }
24- private ParseInput ( String expected , Function1 <String , Tuple < String , OUT >> transformer )
26+ public static ParseInput <String > from ( String expected )
2527 {
26- this .expected = expected ;
27- this .transformer = transformer ;
28+ return new ParseInput <String >(expected , s -> new Tuple <>(s , s ));
2829 }
30+
2931 public static <OUT > ParseInput <OUT > create (String expected , Function1 <Queryable <String >, OUT > transformer )
3032 {
3133 return new ParseInput <OUT >(expected , s -> {
@@ -49,11 +51,11 @@ public static <IN1, IN2, OUT> ParseInput<OUT> create(String expected, Function2<
4951 public static <OUT > ParseInput <OUT > from (String expected , Class <OUT > tranformTo )
5052 {
5153 Function1 <String , OUT > transformer1 = getTransformerForClass (tranformTo );
52- return ParseInput . from (expected , transformer1 );
54+ return new ParseInput < OUT > (expected , s -> new Tuple <>( s , transformer1 . call ( s )) );
5355 }
5456 public <OUT > ParseInputWith1Parameters <OUT > withTypes (Class <OUT > type1 )
5557 {
56- return ParseInputWith1Parameters .create (expected , type1 );
58+ return ParseInputWith1Parameters .create (expected , type1 , multiline );
5759 }
5860 // public <OUT> ParseInput<OUT> transformTo(Function1<String, OUT> transformer)
5961 // {
@@ -96,21 +98,21 @@ public void verifyAll(Function1<OUT, Object> transform)
9698 }
9799 public <T1 , T2 > ParseInputWith2Parameters <T1 , T2 , Tuple <T1 , T2 >> withTypes (Class <T1 > type1 , Class <T2 > type2 )
98100 {
99- return ParseInputWith2Parameters .create (expected , type1 , type2 );
101+ return ParseInputWith2Parameters .create (expected , getTransformerForClass (type1 ),
102+ getTransformerForClass (type2 ));
100103 }
101- public <T1 , T2 > ParseInputWith2Parameters <T1 , T2 , Tuple <T1 , T2 >> transformTo (Function1 <String , T1 > transformer1 , Function1 <String , T2 > transformer2 )
104+ public <T1 , T2 > ParseInputWith2Parameters <T1 , T2 , Tuple <T1 , T2 >> transformTo (Function1 <String , T1 > transformer1 ,
105+ Function1 <String , T2 > transformer2 )
102106 {
103107 return ParseInputWith2Parameters .create (expected , transformer1 , transformer2 );
104-
105108 }
106109 public ParseInput <OUT > multiline ()
107110 {
108- this .multiline = true ;
109- return this ;
111+ return new ParseInput <>(expected , transformer , true );
110112 }
111113 public <OUT > ParseInputWith1Parameters <OUT > transformTo (Function1 <String , OUT > transformer )
112114 {
113- return new ParseInputWith1Parameters <>(expected , transformer );
115+ return new ParseInputWith1Parameters <>(expected , transformer , multiline );
114116 }
115117 public Queryable <OUT > getInputs ()
116118 {
0 commit comments