1919import static java .nio .file .attribute .PosixFilePermission .OWNER_READ ;
2020import static java .nio .file .attribute .PosixFilePermission .OWNER_WRITE ;
2121import static org .assertj .core .api .Assertions .assertThat ;
22+ import static org .assertj .core .api .Assertions .assertThatNoException ;
2223
2324class TestSplitMainTest {
2425
@@ -64,20 +65,48 @@ void setUp() throws Exception {
6465 PERMISSIONS );
6566 }
6667
68+ @ Test
69+ void main_fullLifecycle () {
70+ assertThatNoException ().isThrownBy (() -> TestSplitMain .main (new String []{
71+ "-i" , "0" , "-t" , "2" , "-g" , "**/example-project/**/*Test.java" , "-w" , tmp .toString ()}));
72+ }
73+
74+ @ Test
75+ void init () {
76+ TestSplitMain .init (exitCode ::set ,
77+ new String []{"-i" , "0" , "-t" , "1" , "-g" , "**/*Test.java" , "-w" , tmp .toString ()});
78+ assertThat (exitCode ).hasNullValue ();
79+ }
80+
81+ @ Test
82+ void init_withHelp () {
83+ TestSplitMain .init (exitCode ::set , new String []{"-h" });
84+ assertThat (exitCode ).hasValue (0 );
85+ }
86+
87+ @ Test
88+ void init_withInvalidArguments () {
89+ TestSplitMain .init (exitCode ::set , new String []{"-i" , "0" , "-t" , "0" , "-g" , "**/*Test.java" });
90+ assertThat (exitCode ).hasValue (1 );
91+ }
92+
6793 @ Test
6894 void run () throws Exception {
69- final var splits = TestSplitMain .run (exitCode ::set , new String []{
70- "-i" ,
95+ jCommander .parse ("-i" ,
7196 "0" ,
7297 "-t" ,
7398 "2" ,
7499 "-g" ,
75100 "**/example-project/**/*Test.java" ,
101+ "-e" ,
102+ "**/example-project/**/*Abstract*.java" ,
76103 "-j" ,
77104 "**/junit-reports/*.xml" ,
78105 "-w" ,
79- tmp .toAbsolutePath ().toString (),
80- "-d" });
106+ tmp .toString (),
107+ "-o" ,
108+ "-d" );
109+ final var splits = TestSplitMain .run (exitCode ::set , arguments );
81110 assertThat (exitCode ).hasNullValue ();
82111
83112 assertThat (splits .size ()).isEqualTo (2 );
@@ -89,32 +118,32 @@ void run() throws Exception {
89118
90119 @ Test
91120 void validateArguments () {
92- jCommander .parse ("-i" , "0" , "-t" , "1" , "-g" , "**/*Test.java" );
93- assertThat (TestSplitMain .validateArguments (arguments , tmp )).isTrue ();
121+ jCommander .parse ("-i" , "0" , "-t" , "1" , "-g" , "**/*Test.java" , "-w" , tmp . toAbsolutePath (). toString () );
122+ assertThat (TestSplitMain .validateArguments (arguments )).isTrue ();
94123 }
95124
96125 @ Test
97126 void validateArguments_withZeroSplitTotal () {
98- jCommander .parse ("-i" , "0" , "-t" , "0" , "-g" , "**/*Test.java" );
99- assertThat (TestSplitMain .validateArguments (arguments , tmp )).isFalse ();
127+ jCommander .parse ("-i" , "0" , "-t" , "0" , "-g" , "**/*Test.java" , "-w" , tmp . toAbsolutePath (). toString () );
128+ assertThat (TestSplitMain .validateArguments (arguments )).isFalse ();
100129 }
101130
102131 @ Test
103132 void validateArguments_withNegativeSplitTotal () {
104- jCommander .parse ("-i" , "0" , "-t" , "-1" , "-g" , "**/*Test.java" );
105- assertThat (TestSplitMain .validateArguments (arguments , tmp )).isFalse ();
133+ jCommander .parse ("-i" , "0" , "-t" , "-1" , "-g" , "**/*Test.java" , "-w" , tmp . toAbsolutePath (). toString () );
134+ assertThat (TestSplitMain .validateArguments (arguments )).isFalse ();
106135 }
107136
108137 @ Test
109138 void validateArguments_withTooSmallSplitIndex () {
110- jCommander .parse ("-i" , "1" , "-t" , "1" , "-g" , "**/*Test.java" );
111- assertThat (TestSplitMain .validateArguments (arguments , tmp )).isFalse ();
139+ jCommander .parse ("-i" , "1" , "-t" , "1" , "-g" , "**/*Test.java" , "-w" , tmp . toAbsolutePath (). toString () );
140+ assertThat (TestSplitMain .validateArguments (arguments )).isFalse ();
112141 }
113142
114143 @ Test
115144 void validateArguments_withInvalidWorkingDirectory () {
116- jCommander .parse ("-i" , "0" , "-t" , "1" , "-g" , "**/*Test.java" );
117- assertThat (TestSplitMain .validateArguments (arguments , tmp . resolve ( "does-not-exist" ) )).isFalse ();
145+ jCommander .parse ("-i" , "0" , "-t" , "1" , "-g" , "**/*Test.java" , "-w" , tmp . resolve ( "does-not-exist" ). toString () );
146+ assertThat (TestSplitMain .validateArguments (arguments )).isFalse ();
118147 }
119148
120149 @ Test
0 commit comments