2424
2525import java .io .File ;
2626import java .io .Reader ;
27+ import java .util .ArrayList ;
28+ import java .util .Arrays ;
29+ import java .util .List ;
2730import java .util .function .Consumer ;
28- import java .util .function .IntSupplier ;
2931
3032public final class TestHelpers {
3133
3234 public static void assertFile (final ObjectReceiver <Reader > receiver , final String expected , final File file , final Consumer <FileOpener > consumer ) {
33- assertReader (receiver , expected , () -> {
35+ assertReader (receiver , () -> {
3436 final FileOpener opener = new FileOpener ();
3537 if (consumer != null ) {
3638 consumer .accept (opener );
@@ -39,25 +41,18 @@ public static void assertFile(final ObjectReceiver<Reader> receiver, final Strin
3941 opener .setReceiver (receiver );
4042 opener .process (file .getAbsolutePath ());
4143 opener .closeStream ();
42-
43- return 1 ;
44- });
44+ }, expected );
4545 }
4646
47- public static void assertReader (final ObjectReceiver <Reader > receiver , final String expected , final IntSupplier supplier ) {
48- final StringBuilder sb = new StringBuilder ();
49-
50- Mockito .doAnswer (i -> {
51- sb .delete (0 , sb .length ());
52- sb .append (ResourceUtil .readAll (i .getArgument (0 )));
53-
54- return null ;
55- }).when (receiver ).process (Mockito .any (Reader .class ));
47+ public static void assertReader (final ObjectReceiver <Reader > receiver , final Runnable runnable , final String ... expected ) {
48+ final List <String > actual = new ArrayList <>();
49+ Mockito .doAnswer (i -> actual .add (ResourceUtil .readAll (i .getArgument (0 )))).when (receiver ).process (Mockito .any (Reader .class ));
5650
57- final int times = supplier . getAsInt ();
51+ runnable . run ();
5852
59- Mockito .verify (receiver , Mockito .times (times )).process (Mockito .any (Reader .class ));
60- Assert .assertEquals (expected , sb .toString ());
53+ Mockito .verify (receiver , Mockito .times (expected .length )).process (Mockito .any (Reader .class ));
54+ Arrays .stream (expected ).forEach (i -> Assert .assertEquals (i , actual .remove (0 )));
55+ Assert .assertEquals (0 , actual .size ());
6156 }
6257
6358}
0 commit comments