1212import org .variantsync .diffdetective .variation .diff .parse .VariationDiffParseOptions ;
1313import org .variantsync .diffdetective .variation .tree .VariationTree ;
1414import org .variantsync .diffdetective .variation .VariationUnparser ;
15- import org .variantsync .diffdetective .variation .tree .source .VariationTreeSource ;
1615
1716import static org .junit .jupiter .api .Assertions .assertEquals ;
1817import static org .variantsync .diffdetective .experiments .thesis_es .UnparseAnalysis .removeWhitespace ;
@@ -39,81 +38,54 @@ public static Stream<Path> testsDiff() throws IOException {
3938
4039 @ Test
4140 public void testTree () throws IOException , DiffParseException {
42- String original = Files .readString (treeDir .resolve ("test8.txt" ));
43- VariationTree <DiffLinesLabel > tree =
44- VariationTree .fromText (original , VariationTreeSource .Unknown , VariationDiffParseOptions .Default );
45- String unparsed = VariationUnparser .variationTreeUnparser (tree );
41+ Path file = treeDir .resolve ("test8.txt" );
4642
47- assertEquals (removeWhitespace (original , false ), removeWhitespace (unparsed , false ));
43+ assertEqualTree (
44+ Files .readString (file ),
45+ parseUnparseTree (file , VariationDiffParseOptions .Default ));
4846 }
4947
5048 @ Test
5149 public void testDiffSemEq () throws IOException , DiffParseException {
52- String original = Files .readString (treeDir .resolve ("diff" ).resolve ("diff.diff" ));
53- VariationDiff <DiffLinesLabel > diff = VariationDiff .fromDiff (original , VariationDiffParseOptions .Default );
54- String unparsed = VariationUnparser .variationDiffUnparser (diff );
55-
56- assertEquals (
57- removeWhitespace (VariationUnparser .undiff (original , Time .BEFORE ), false ),
58- removeWhitespace (VariationUnparser .undiff (unparsed , Time .BEFORE ), false ));
59- assertEquals (
60- removeWhitespace (VariationUnparser .undiff (original , Time .AFTER ), false ),
61- removeWhitespace (VariationUnparser .undiff (unparsed , Time .AFTER ), false ));
50+ Path file = treeDir .resolve ("diff" ).resolve ("diff.diff" );
51+
52+ assertEqualDiff (
53+ Files .readString (file ),
54+ parseUnparseDiff (file , VariationDiffParseOptions .Default ));
6255 }
6356
6457 @ ParameterizedTest
6558 @ MethodSource ("testsTree" )
6659 public void testTreeUnparse (Path testCasePath ) throws IOException , DiffParseException {
67- String original = Files .readString (testCasePath );
68- original = original .replaceAll ("\\ r\\ n" , "\n " );
69-
7060 String unparsed1 = parseUnparseTree (testCasePath , new VariationDiffParseOptions (false , false ));
7161 String unparsed2 = parseUnparseTree (testCasePath , new VariationDiffParseOptions (false , true ));
7262 String unparsed3 = parseUnparseTree (testCasePath , new VariationDiffParseOptions (true , false ));
7363 String unparsed4 = parseUnparseTree (testCasePath , new VariationDiffParseOptions (true , true ));
7464
75- original = removeWhitespace (original , false );
76- unparsed1 = removeWhitespace (unparsed1 , false );
77- unparsed2 = removeWhitespace (unparsed2 , false );
78- unparsed3 = removeWhitespace (unparsed3 , false );
79- unparsed4 = removeWhitespace (unparsed4 , false );
65+ String original = Files .readString (testCasePath );
66+ original = original .replaceAll ("\\ r\\ n" , "\n " );
8067
81- assertEquals (original , unparsed1 );
82- assertEquals (original , unparsed2 );
83- assertEquals (original , unparsed3 );
84- assertEquals (original , unparsed4 );
68+ assertEqualTree (original , unparsed1 );
69+ assertEqualTree (original , unparsed2 );
70+ assertEqualTree (original , unparsed3 );
71+ assertEqualTree (original , unparsed4 );
8572 }
8673
8774 @ ParameterizedTest
8875 @ MethodSource ("testsDiff" )
8976 public void testDiffUnparse (Path testCasePath ) throws IOException , DiffParseException {
90- String original = Files .readString (testCasePath );
91- original = original .replaceAll ("\\ r\\ n" , "\n " );
92-
9377 String unparsed1 = parseUnparseDiff (testCasePath , new VariationDiffParseOptions (false , false ));
9478 String unparsed2 = parseUnparseDiff (testCasePath , new VariationDiffParseOptions (false , true ));
9579 String unparsed3 = parseUnparseDiff (testCasePath , new VariationDiffParseOptions (true , false ));
9680 String unparsed4 = parseUnparseDiff (testCasePath , new VariationDiffParseOptions (true , true ));
9781
98- String original1 = VariationUnparser .undiff (original , Time .BEFORE );
99- String original2 = VariationUnparser .undiff (original , Time .AFTER );
100- String unparsed11 = VariationUnparser .undiff (unparsed1 , Time .BEFORE );
101- String unparsed12 = VariationUnparser .undiff (unparsed1 , Time .AFTER );
102- String unparsed21 = VariationUnparser .undiff (unparsed2 , Time .BEFORE );
103- String unparsed22 = VariationUnparser .undiff (unparsed2 , Time .AFTER );
104- String unparsed31 = VariationUnparser .undiff (unparsed3 , Time .BEFORE );
105- String unparsed32 = VariationUnparser .undiff (unparsed3 , Time .AFTER );
106- String unparsed41 = VariationUnparser .undiff (unparsed4 , Time .BEFORE );
107- String unparsed42 = VariationUnparser .undiff (unparsed4 , Time .AFTER );
108-
109- assertEquals (removeWhitespace (original1 , false ), removeWhitespace (unparsed11 , false ));
110- assertEquals (removeWhitespace (original2 , false ), removeWhitespace (unparsed12 , false ));
111- assertEquals (removeWhitespace (original1 , false ), removeWhitespace (unparsed21 , false ));
112- assertEquals (removeWhitespace (original2 , false ), removeWhitespace (unparsed22 , false ));
113- assertEquals (removeWhitespace (original1 , false ), removeWhitespace (unparsed31 , false ));
114- assertEquals (removeWhitespace (original2 , false ), removeWhitespace (unparsed32 , false ));
115- assertEquals (removeWhitespace (original1 , false ), removeWhitespace (unparsed41 , false ));
116- assertEquals (removeWhitespace (original2 , false ), removeWhitespace (unparsed42 , false ));
82+ String original = Files .readString (testCasePath );
83+ original = original .replaceAll ("\\ r\\ n" , "\n " );
84+
85+ assertEqualDiff (original , unparsed1 );
86+ assertEqualDiff (original , unparsed2 );
87+ assertEqualDiff (original , unparsed3 );
88+ assertEqualDiff (original , unparsed4 );
11789 }
11890
11991 public static String parseUnparseTree (Path path , VariationDiffParseOptions option ) throws IOException , DiffParseException {
@@ -125,4 +97,13 @@ public static String parseUnparseDiff(Path path, VariationDiffParseOptions optio
12597 VariationDiff <DiffLinesLabel > diff = VariationDiff .fromFile (path , option );
12698 return VariationUnparser .variationDiffUnparser (diff );
12799 }
100+
101+ private static void assertEqualDiff (String expected , String actual ) {
102+ assertEqualTree (VariationUnparser .undiff (expected , Time .BEFORE ), VariationUnparser .undiff (actual , Time .BEFORE ));
103+ assertEqualTree (VariationUnparser .undiff (expected , Time .AFTER ), VariationUnparser .undiff (actual , Time .AFTER ));
104+ }
105+
106+ private static void assertEqualTree (String expected , String actual ) {
107+ assertEquals (removeWhitespace (expected , false ), removeWhitespace (actual , false ));
108+ }
128109}
0 commit comments