19
19
import static java .nio .file .attribute .PosixFilePermission .OWNER_READ ;
20
20
import static java .nio .file .attribute .PosixFilePermission .OWNER_WRITE ;
21
21
import static org .assertj .core .api .Assertions .assertThat ;
22
+ import static org .assertj .core .api .Assertions .assertThatNoException ;
22
23
23
24
class TestSplitMainTest {
24
25
@@ -64,20 +65,48 @@ void setUp() throws Exception {
64
65
PERMISSIONS );
65
66
}
66
67
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
+
67
93
@ Test
68
94
void run () throws Exception {
69
- final var splits = TestSplitMain .run (exitCode ::set , new String []{
70
- "-i" ,
95
+ jCommander .parse ("-i" ,
71
96
"0" ,
72
97
"-t" ,
73
98
"2" ,
74
99
"-g" ,
75
100
"**/example-project/**/*Test.java" ,
101
+ "-e" ,
102
+ "**/example-project/**/*Abstract*.java" ,
76
103
"-j" ,
77
104
"**/junit-reports/*.xml" ,
78
105
"-w" ,
79
- tmp .toAbsolutePath ().toString (),
80
- "-d" });
106
+ tmp .toString (),
107
+ "-o" ,
108
+ "-d" );
109
+ final var splits = TestSplitMain .run (exitCode ::set , arguments );
81
110
assertThat (exitCode ).hasNullValue ();
82
111
83
112
assertThat (splits .size ()).isEqualTo (2 );
@@ -89,32 +118,32 @@ void run() throws Exception {
89
118
90
119
@ Test
91
120
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 ();
94
123
}
95
124
96
125
@ Test
97
126
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 ();
100
129
}
101
130
102
131
@ Test
103
132
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 ();
106
135
}
107
136
108
137
@ Test
109
138
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 ();
112
141
}
113
142
114
143
@ Test
115
144
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 ();
118
147
}
119
148
120
149
@ Test
0 commit comments