24
24
25
25
import java .io .File ;
26
26
import java .io .Reader ;
27
+ import java .util .ArrayList ;
28
+ import java .util .Arrays ;
29
+ import java .util .List ;
27
30
import java .util .function .Consumer ;
28
- import java .util .function .IntSupplier ;
29
31
30
32
public final class TestHelpers {
31
33
32
34
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 , () -> {
34
36
final FileOpener opener = new FileOpener ();
35
37
if (consumer != null ) {
36
38
consumer .accept (opener );
@@ -39,25 +41,18 @@ public static void assertFile(final ObjectReceiver<Reader> receiver, final Strin
39
41
opener .setReceiver (receiver );
40
42
opener .process (file .getAbsolutePath ());
41
43
opener .closeStream ();
42
-
43
- return 1 ;
44
- });
44
+ }, expected );
45
45
}
46
46
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 ));
56
50
57
- final int times = supplier . getAsInt ();
51
+ runnable . run ();
58
52
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 ());
61
56
}
62
57
63
58
}
0 commit comments