33import static org .hamcrest .MatcherAssert .assertThat ;
44import static org .hamcrest .Matchers .containsString ;
55import static org .hamcrest .Matchers .isEmptyString ;
6+ import static org .opendatakit .validate .TestUtils .getPathOf ;
67
7- import java .io .ByteArrayOutputStream ;
8- import java .io .PrintStream ;
98import java .net .URISyntaxException ;
109import java .nio .file .Path ;
11- import java .nio .file .Paths ;
1210import org .junit .Test ;
1311
1412public class ValidateExternalSecondaryInstancesTest {
@@ -18,8 +16,8 @@ public void supportsXlsformsDefaultValueAndLabelRefs_inItemsets_usingXMLExternal
1816 final FormValidator validator = new FormValidator ();
1917
2018 Output output = Output .runAndGet (() -> validator .validate (path .toString ()));
21- assertThat (output .err , isEmptyString ());
22- assertThat (output .std , containsString ("Xform is valid" ));
19+ assertThat (output .getErr () , isEmptyString ());
20+ assertThat (output .getStd () , containsString ("Xform is valid" ));
2321 }
2422
2523 @ Test
@@ -28,8 +26,8 @@ public void supportsXlsformsDefaultValueAndLabelRefs_inItemsets_usingCsvSecondar
2826 final FormValidator validator = new FormValidator ();
2927
3028 Output output = Output .runAndGet (() -> validator .validate (path .toString ()));
31- assertThat (output .err , isEmptyString ());
32- assertThat (output .std , containsString ("Xform is valid" ));
29+ assertThat (output .getErr () , isEmptyString ());
30+ assertThat (output .getStd () , containsString ("Xform is valid" ));
3331 }
3432
3533 @ Test
@@ -38,48 +36,7 @@ public void supportsCustomValueAndLabelRefs_inItemsets_usingExternalSecondaryIns
3836 final FormValidator validator = new FormValidator ();
3937
4038 Output output = Output .runAndGet (() -> validator .validate (path .toString ()));
41- assertThat (output .err , isEmptyString ());
42- assertThat (output .std , containsString ("Xform is valid" ));
39+ assertThat (output .getErr () , isEmptyString ());
40+ assertThat (output .getStd () , containsString ("Xform is valid" ));
4341 }
44-
45- private Path getPathOf (String filename ) throws URISyntaxException {
46- return Paths .get (ValidateExternalSecondaryInstancesTest .class .getResource (filename .startsWith ("/" ) ? filename : "/" + filename ).toURI ());
47- }
48-
49- static class Output {
50- private final String std ;
51- private final String err ;
52-
53- Output (String std , String err ) {
54- this .std = std ;
55- this .err = err ;
56- }
57-
58- static Output runAndGet (Runnable runnable ) {
59- PrintStream outBackup = System .out ;
60- ByteArrayOutputStream stdBaos = new ByteArrayOutputStream ();
61- PrintStream stdPs = new PrintStream (stdBaos );
62- System .setOut (stdPs );
63-
64- PrintStream errBackup = System .err ;
65- ByteArrayOutputStream errBaos = new ByteArrayOutputStream ();
66- PrintStream errPs = new PrintStream (errBaos );
67- System .setErr (errPs );
68-
69- runnable .run ();
70-
71- stdPs .flush ();
72- String std = stdBaos .toString ();
73- System .setOut (outBackup );
74- System .out .print (std );
75-
76- errPs .flush ();
77- String err = errBaos .toString ();
78- System .setErr (errBackup );
79- System .err .print (err );
80-
81- return new Output (std , err );
82- }
83- }
84-
8542}
0 commit comments