2525import org .junit .Rule ;
2626import org .junit .Test ;
2727import org .junit .rules .TemporaryFolder ;
28- import org .mockito .InOrder ;
2928
3029import org .springframework .boot .loader .TestJarCreator ;
3130import org .springframework .boot .loader .data .RandomAccessData ;
3231import org .springframework .boot .loader .data .RandomAccessDataFile ;
3332
3433import static org .assertj .core .api .Assertions .assertThat ;
35- import static org .mockito .ArgumentMatchers .any ;
36- import static org .mockito .ArgumentMatchers .anyInt ;
37- import static org .mockito .Mockito .atLeastOnce ;
38- import static org .mockito .Mockito .inOrder ;
39- import static org .mockito .Mockito .mock ;
4034
4135/**
4236 * Tests for {@link CentralDirectoryParser}.
@@ -61,16 +55,13 @@ public void setup() throws Exception {
6155
6256@ Test
6357public void visitsInOrder () throws Exception {
64- CentralDirectoryVisitor visitor = mock ( CentralDirectoryVisitor . class );
58+ MockCentralDirectoryVisitor visitor = new MockCentralDirectoryVisitor ( );
6559CentralDirectoryParser parser = new CentralDirectoryParser ();
6660parser .addVisitor (visitor );
6761parser .parse (this .jarData , false );
68- InOrder ordered = inOrder (visitor );
69- ordered .verify (visitor ).visitStart (any (CentralDirectoryEndRecord .class ),
70- any (RandomAccessData .class ));
71- ordered .verify (visitor , atLeastOnce ())
72- .visitFileHeader (any (CentralDirectoryFileHeader .class ), anyInt ());
73- ordered .verify (visitor ).visitEnd ();
62+ List <String > invocations = visitor .invocations ;
63+ assertThat (invocations ).startsWith ("visitStart" ).endsWith ("visitEnd" )
64+ .contains ("visitFileHeader" );
7465}
7566
7667@ Test
@@ -118,4 +109,31 @@ public List<CentralDirectoryFileHeader> getHeaders() {
118109
119110}
120111
112+ private static class MockCentralDirectoryVisitor implements CentralDirectoryVisitor {
113+
114+ private final List <String > invocations = new ArrayList <String >();
115+
116+ @ Override
117+ public void visitStart (CentralDirectoryEndRecord endRecord ,
118+ RandomAccessData centralDirectoryData ) {
119+ this .invocations .add ("visitStart" );
120+ }
121+
122+ @ Override
123+ public void visitFileHeader (CentralDirectoryFileHeader fileHeader ,
124+ int dataOffset ) {
125+ this .invocations .add ("visitFileHeader" );
126+ }
127+
128+ @ Override
129+ public void visitEnd () {
130+ this .invocations .add ("visitEnd" );
131+ }
132+
133+ public List <String > getInvocations () {
134+ return this .invocations ;
135+ }
136+
137+ }
138+
121139}
0 commit comments