@@ -44,7 +44,8 @@ void setUp() throws Exception {
4444 .resolve ("example" );
4545 Files .createDirectories (projectFolder );
4646 copyResourceToTarget (projectFolder , "tests/FastTest.java" , "FastTest.java" , PERMISSIONS );
47- copyResourceToTarget (projectFolder , "tests/NoTimingTest.java" , "NoTimingTest.java" , PERMISSIONS );
47+ copyResourceToTarget (projectFolder , "tests/NoTimingOneTest.java" , "NoTimingOneTest.java" , PERMISSIONS );
48+ copyResourceToTarget (projectFolder , "tests/NoTimingTwoTest.java" , "NoTimingTwoTest.java" , PERMISSIONS );
4849 copyResourceToTarget (projectFolder , "tests/SlowTest.java" , "SlowTest.java" , PERMISSIONS );
4950 copyResourceToTarget (projectFolder , "tests/SlowestTest.java" , "SlowestTest.java" , PERMISSIONS );
5051
@@ -64,72 +65,150 @@ void setUp() throws Exception {
6465 }
6566
6667 @ Test
67- void run_withoutJUnit_firstSplit () throws Exception {
68- final var testSplit = new TestSplit (0 ,
69- 2 ,
68+ void run_withoutJUnit_withOneSplit () throws Exception {
69+ final var split = new TestSplit (0 ,
70+ 1 ,
7071 "**/example-project/**/*Test.java" ,
7172 "**/example-project/**/*Abstract*.java" ,
7273 null ,
7374 tmp ,
7475 true ,
7576 exitCode ::set );
76- testSplit .run ();
77+ split .run ();
7778
78- assertThat (systemOut .getLines ()).hasSize (1 );
79- assertThat (systemOut .getText ()).isEqualTo (
80- "de.donnerbart.example.SlowestTest de.donnerbart.example.NoTimingTest" );
79+ assertThat (systemOut .getLines ()).singleElement ().isEqualTo ( //
80+ "de.donnerbart.example.FastTest de.donnerbart.example.NoTimingOneTest de.donnerbart.example.NoTimingTwoTest de.donnerbart.example.SlowTest de.donnerbart.example.SlowestTest" );
8181 assertThat (exitCode ).hasNullValue ();
8282 }
8383
8484 @ Test
85- void run_withoutJUnit_secondSplit () throws Exception {
86- final var testSplit = new TestSplit (1 ,
87- 2 ,
88- "**/example-project/**/*Test.java" ,
89- "**/example-project/**/*Abstract*.java" ,
90- null ,
91- tmp ,
92- true ,
93- exitCode ::set );
94- testSplit .run ();
85+ void run_withoutJUnit_withTwoSplits () throws Exception {
86+ for (int index = 0 ; index <= 1 ; index ++) {
87+ final var split = new TestSplit (index ,
88+ 2 ,
89+ "**/example-project/**/*Test.java" ,
90+ "**/example-project/**/*Abstract*.java" ,
91+ null ,
92+ tmp ,
93+ true ,
94+ exitCode ::set );
95+ split .run ();
96+ // add a new line to separate the captured output
97+ System .out .println ();
98+ }
9599
96- assertThat (systemOut .getLines ()).hasSize (1 );
97- assertThat (systemOut .getText ()).isEqualTo ("de.donnerbart.example.SlowTest de.donnerbart.example.FastTest" );
100+ assertThat (systemOut .getLines ()).hasSize (2 ).containsSequence ( //
101+ "de.donnerbart.example.FastTest de.donnerbart.example.NoTimingTwoTest de.donnerbart.example.SlowestTest" ,
102+ "de.donnerbart.example.NoTimingOneTest de.donnerbart.example.SlowTest" );
98103 assertThat (exitCode ).hasNullValue ();
99104 }
100105
101106 @ Test
102- void run_withJUnit_firstSplit () throws Exception {
103- final var testSplit = new TestSplit (0 ,
104- 2 ,
105- "**/example-project/**/*Test.java" ,
106- "**/example-project/**/*Abstract*.java" ,
107- "**/junit-reports/*.xml" ,
108- tmp ,
109- true ,
110- exitCode ::set );
111- testSplit .run ();
107+ void run_withoutJUnit_withThreeSplits () throws Exception {
108+ for (int index = 0 ; index <= 2 ; index ++) {
109+ final var split = new TestSplit (index ,
110+ 3 ,
111+ "**/example-project/**/*Test.java" ,
112+ "**/example-project/**/*Abstract*.java" ,
113+ null ,
114+ tmp ,
115+ true ,
116+ exitCode ::set );
117+ split .run ();
118+ // add a new line to separate the captured output
119+ System .out .println ();
120+ }
112121
113- assertThat (systemOut .getLines ()).hasSize (1 );
114- assertThat (systemOut .getText ()).isEqualTo ("de.donnerbart.example.SlowestTest" );
122+ assertThat (systemOut .getLines ()).hasSize (3 ).containsSequence ( //
123+ "de.donnerbart.example.FastTest de.donnerbart.example.SlowTest" ,
124+ "de.donnerbart.example.NoTimingOneTest de.donnerbart.example.SlowestTest" ,
125+ "de.donnerbart.example.NoTimingTwoTest" );
115126 assertThat (exitCode ).hasNullValue ();
116127 }
117128
118129 @ Test
119- void run_withJUnit_secondSplit () throws Exception {
120- final var testSplit = new TestSplit (1 ,
121- 2 ,
130+ void run_withJUnit_withOneSplit () throws Exception {
131+ final var split = new TestSplit (0 ,
132+ 1 ,
122133 "**/example-project/**/*Test.java" ,
123134 "**/example-project/**/*Abstract*.java" ,
124135 "**/junit-reports/*.xml" ,
125136 tmp ,
126137 true ,
127138 exitCode ::set );
128- testSplit .run ();
139+ split .run ();
140+
141+ assertThat (systemOut .getLines ()).singleElement ().isEqualTo ( //
142+ "de.donnerbart.example.SlowestTest de.donnerbart.example.SlowTest de.donnerbart.example.FastTest de.donnerbart.example.NoTimingOneTest de.donnerbart.example.NoTimingTwoTest" );
143+ assertThat (exitCode ).hasNullValue ();
144+ }
145+
146+ @ Test
147+ void run_withJUnit_withTwoSplits () throws Exception {
148+ for (int index = 0 ; index <= 1 ; index ++) {
149+ final var split = new TestSplit (index ,
150+ 2 ,
151+ "**/example-project/**/*Test.java" ,
152+ "**/example-project/**/*Abstract*.java" ,
153+ "**/junit-reports/*.xml" ,
154+ tmp ,
155+ true ,
156+ exitCode ::set );
157+ split .run ();
158+ // add a new line to separate the captured output
159+ System .out .println ();
160+ }
161+
162+ assertThat (systemOut .getLines ()).hasSize (2 ).containsSequence ( //
163+ "de.donnerbart.example.SlowestTest" ,
164+ "de.donnerbart.example.SlowTest de.donnerbart.example.FastTest de.donnerbart.example.NoTimingOneTest de.donnerbart.example.NoTimingTwoTest" );
165+ assertThat (exitCode ).hasNullValue ();
166+ }
167+
168+ @ Test
169+ void run_withJUnit_withThreeSplits () throws Exception {
170+ for (int index = 0 ; index <= 2 ; index ++) {
171+ final var split = new TestSplit (index ,
172+ 3 ,
173+ "**/example-project/**/*Test.java" ,
174+ "**/example-project/**/*Abstract*.java" ,
175+ "**/junit-reports/*.xml" ,
176+ tmp ,
177+ true ,
178+ exitCode ::set );
179+ split .run ();
180+ // add a new line to separate the captured output
181+ System .out .println ();
182+ }
183+
184+ assertThat (systemOut .getLines ()).hasSize (3 ).containsSequence ( //
185+ "de.donnerbart.example.SlowestTest" ,
186+ "de.donnerbart.example.SlowTest" ,
187+ "de.donnerbart.example.FastTest de.donnerbart.example.NoTimingOneTest de.donnerbart.example.NoTimingTwoTest" );
188+ assertThat (exitCode ).hasNullValue ();
189+ }
190+
191+ @ Test
192+ void run_withJUnit_withFourSplits () throws Exception {
193+ for (int index = 0 ; index <= 3 ; index ++) {
194+ final var split = new TestSplit (index ,
195+ 4 ,
196+ "**/example-project/**/*Test.java" ,
197+ "**/example-project/**/*Abstract*.java" ,
198+ "**/junit-reports/*.xml" ,
199+ tmp ,
200+ true ,
201+ exitCode ::set );
202+ split .run ();
203+ // add a new line to separate the captured output
204+ System .out .println ();
205+ }
129206
130- assertThat (systemOut .getLines ()).hasSize (1 );
131- assertThat (systemOut .getText ()).isEqualTo (
132- "de.donnerbart.example.SlowTest de.donnerbart.example.FastTest de.donnerbart.example.NoTimingTest" );
207+ assertThat (systemOut .getLines ()).hasSize (4 ).containsSequence ( //
208+ "de.donnerbart.example.SlowestTest" ,
209+ "de.donnerbart.example.SlowTest" ,
210+ "de.donnerbart.example.FastTest" ,
211+ "de.donnerbart.example.NoTimingOneTest de.donnerbart.example.NoTimingTwoTest" );
133212 assertThat (exitCode ).hasNullValue ();
134213 }
135214
0 commit comments