1
1
package info .unterrainer .commons .cliutils ;
2
2
3
3
import static org .assertj .core .api .Assertions .assertThat ;
4
- import static org .junit .Assert .assertThrows ;
4
+ import static org .junit .jupiter . api . Assertions .assertThrows ;
5
5
6
- import org .junit .Test ;
6
+ import org .junit .jupiter . api . Test ;
7
7
8
8
public class BuilderTests {
9
9
@@ -12,7 +12,8 @@ public void exampleCheckForHelpAndDisplayIt() {
12
12
Cli cli = CliParser .cliFor (args , "test" , "a test program" )
13
13
.addFlag (Flag .builder ("test" ).description ("a test flag" ))
14
14
.addArg (Arg .String ("source" ).description ("the source file" ).defaultValue ("testsource" ))
15
- .addArg (Arg .Float ("float" ).description ("testfloat" ).defaultValue (3.2F )).addArg (Arg .String ("arg" ))
15
+ .addArg (Arg .Float ("float" ).description ("testfloat" ).defaultValue (3.2F ))
16
+ .addArg (Arg .String ("arg" ))
16
17
.create ();
17
18
18
19
if (cli .isHelpSet ())
@@ -25,7 +26,8 @@ public void example() {
25
26
Cli cli = CliParser .cliFor (args , "test" , "a test program" )
26
27
.addFlag (Flag .builder ("test" ).description ("a test flag" ))
27
28
.addArg (Arg .String ("source" ).description ("the source file" ).defaultValue ("testsource" ))
28
- .addArg (Arg .Float ("float" ).description ("testfloat" ).defaultValue (3.2F )).addArg (Arg .String ("arg" ))
29
+ .addArg (Arg .Float ("float" ).description ("testfloat" ).defaultValue (3.2F ))
30
+ .addArg (Arg .String ("arg" ))
29
31
.create ();
30
32
31
33
assertThat ((String ) cli .getArgValue ("source" )).isEqualTo ("testsource" );
@@ -38,7 +40,8 @@ public void example() {
38
40
public void addedFlagCanBeRetrieved () {
39
41
String [] args = "--flag" .split (" " );
40
42
Cli cli = CliParser .cliFor (args , "test" , "a test program" )
41
- .addFlag (Flag .builder ("flag" ).description ("a test flag" )).create ();
43
+ .addFlag (Flag .builder ("flag" ).description ("a test flag" ))
44
+ .create ();
42
45
43
46
assertThat (cli .isFlagSet ("flag" )).isTrue ();
44
47
}
@@ -68,9 +71,12 @@ public void notAddedFlagThrowsRuntimeException() {
68
71
@ Test
69
72
public void addingArgsWithDefaultValuesReturnsDefaultValues () {
70
73
String [] args = "" .split (" " );
71
- Cli cli = CliParser .cliFor (args , "test" , "a test program" ).addArg (Arg .String ("string" ).defaultValue ("test" ))
72
- .addArg (Arg .Float ("float" ).defaultValue (3.2F )).addArg (Arg .Double ("double" ).defaultValue (3.3D ))
73
- .addArg (Arg .Integer ("integer" ).defaultValue (2 )).create ();
74
+ Cli cli = CliParser .cliFor (args , "test" , "a test program" )
75
+ .addArg (Arg .String ("string" ).defaultValue ("test" ))
76
+ .addArg (Arg .Float ("float" ).defaultValue (3.2F ))
77
+ .addArg (Arg .Double ("double" ).defaultValue (3.3D ))
78
+ .addArg (Arg .Integer ("integer" ).defaultValue (2 ))
79
+ .create ();
74
80
75
81
assertThat ((String ) cli .getArgValue ("string" )).isEqualTo ("test" );
76
82
assertThat ((Float ) cli .getArgValue ("float" )).isEqualByComparingTo (3.2F );
@@ -81,9 +87,12 @@ public void addingArgsWithDefaultValuesReturnsDefaultValues() {
81
87
@ Test
82
88
public void addingAndSettingArgsWithDefaultValuesReturnsSetValues () {
83
89
String [] args = "--string blah --float=1.9 --double 2.3 --integer 3" .split (" " );
84
- Cli cli = CliParser .cliFor (args , "test" , "a test program" ).addArg (Arg .String ("string" ).defaultValue ("test" ))
85
- .addArg (Arg .Float ("float" ).defaultValue (3.2F )).addArg (Arg .Double ("double" ).defaultValue (3.3D ))
86
- .addArg (Arg .Integer ("integer" ).defaultValue (2 )).create ();
90
+ Cli cli = CliParser .cliFor (args , "test" , "a test program" )
91
+ .addArg (Arg .String ("string" ).defaultValue ("test" ))
92
+ .addArg (Arg .Float ("float" ).defaultValue (3.2F ))
93
+ .addArg (Arg .Double ("double" ).defaultValue (3.3D ))
94
+ .addArg (Arg .Integer ("integer" ).defaultValue (2 ))
95
+ .create ();
87
96
88
97
assertThat ((String ) cli .getArgValue ("string" )).isEqualTo ("blah" );
89
98
assertThat ((Float ) cli .getArgValue ("float" )).isEqualByComparingTo (1.9F );
@@ -95,45 +104,65 @@ public void addingAndSettingArgsWithDefaultValuesReturnsSetValues() {
95
104
public void addingExactlyConstraintAndViolatingItThrowsException () {
96
105
String [] args = "--flat --row" .split (" " );
97
106
assertThrows (RuntimeException .class ,
98
- () -> CliParser .cliFor (args , "test" , "a test program" ).addFlag (Flag .builder ("flat" ))
99
- .addFlag (Flag .builder ("row" )).addExactlyRequired (1 , "flat" , "row" ).create ());
107
+ () -> CliParser .cliFor (args , "test" , "a test program" )
108
+ .addFlag (Flag .builder ("flat" ))
109
+ .addFlag (Flag .builder ("row" ))
110
+ .addExactlyRequired (1 , "flat" , "row" )
111
+ .create ());
100
112
}
101
113
102
114
@ Test
103
115
public void addingExactlyConstraintAndNotViolatingItWorks () {
104
116
String [] args = "--flat" .split (" " );
105
- Cli cli = CliParser .cliFor (args , "test" , "a test program" ).addFlag (Flag .builder ("flat" ))
106
- .addFlag (Flag .builder ("row" )).addExactlyRequired (1 , "flat" , "row" ).create ();
117
+ Cli cli = CliParser .cliFor (args , "test" , "a test program" )
118
+ .addFlag (Flag .builder ("flat" ))
119
+ .addFlag (Flag .builder ("row" ))
120
+ .addExactlyRequired (1 , "flat" , "row" )
121
+ .create ();
107
122
assertThat (cli .isFlagSet ("flat" )).isTrue ();
108
123
}
109
124
110
125
@ Test
111
126
public void addingMinConstraintAndViolatingItThrowsException () {
112
127
String [] args = "" .split (" " );
113
- assertThrows (RuntimeException .class , () -> CliParser .cliFor (args , "test" , "a test program" )
114
- .addFlag (Flag .builder ("flat" )).addFlag (Flag .builder ("row" )).addMinRequired (1 , "flat" , "row" ).create ());
128
+ assertThrows (RuntimeException .class ,
129
+ () -> CliParser .cliFor (args , "test" , "a test program" )
130
+ .addFlag (Flag .builder ("flat" ))
131
+ .addFlag (Flag .builder ("row" ))
132
+ .addMinRequired (1 , "flat" , "row" )
133
+ .create ());
115
134
}
116
135
117
136
@ Test
118
137
public void addingMinConstraintAndNotViolatingItWorks () {
119
138
String [] args = "--row" .split (" " );
120
- Cli cli = CliParser .cliFor (args , "test" , "a test program" ).addFlag (Flag .builder ("flat" ))
121
- .addFlag (Flag .builder ("row" )).addMinRequired (1 , "flat" , "row" ).create ();
139
+ Cli cli = CliParser .cliFor (args , "test" , "a test program" )
140
+ .addFlag (Flag .builder ("flat" ))
141
+ .addFlag (Flag .builder ("row" ))
142
+ .addMinRequired (1 , "flat" , "row" )
143
+ .create ();
122
144
assertThat (cli .isFlagSet ("row" )).isTrue ();
123
145
}
124
146
125
147
@ Test
126
148
public void addingMaxConstraintAndViolatingItThrowsException () {
127
149
String [] args = "--flat --row" .split (" " );
128
- assertThrows (RuntimeException .class , () -> CliParser .cliFor (args , "test" , "a test program" )
129
- .addFlag (Flag .builder ("flat" )).addFlag (Flag .builder ("row" )).addMaxRequired (1 , "flat" , "row" ).create ());
150
+ assertThrows (RuntimeException .class ,
151
+ () -> CliParser .cliFor (args , "test" , "a test program" )
152
+ .addFlag (Flag .builder ("flat" ))
153
+ .addFlag (Flag .builder ("row" ))
154
+ .addMaxRequired (1 , "flat" , "row" )
155
+ .create ());
130
156
}
131
157
132
158
@ Test
133
159
public void addingMaxConstraintAndNotViolatingItWorks () {
134
160
String [] args = "--flat" .split (" " );
135
- Cli cli = CliParser .cliFor (args , "test" , "a test program" ).addFlag (Flag .builder ("flat" ))
136
- .addFlag (Flag .builder ("row" )).addMaxRequired (1 , "flat" , "row" ).create ();
161
+ Cli cli = CliParser .cliFor (args , "test" , "a test program" )
162
+ .addFlag (Flag .builder ("flat" ))
163
+ .addFlag (Flag .builder ("row" ))
164
+ .addMaxRequired (1 , "flat" , "row" )
165
+ .create ();
137
166
assertThat (cli .isFlagSet ("flat" )).isTrue ();
138
167
}
139
168
@@ -148,7 +177,8 @@ public void quotedArgumentsWork() {
148
177
@ Test
149
178
public void unsetArgsAreUnsetEvenIfTheyHaveDefaultValues () {
150
179
String [] args = "" .split (" " );
151
- Cli cli = CliParser .cliFor (args , "test" , "a test program" ).addArg (Arg .String ("string" ).defaultValue ("blah" ))
180
+ Cli cli = CliParser .cliFor (args , "test" , "a test program" )
181
+ .addArg (Arg .String ("string" ).defaultValue ("blah" ))
152
182
.create ();
153
183
154
184
assertThat (cli .isArgSet ("string" )).isFalse ();
@@ -176,8 +206,10 @@ public void argsSetByShortNameAreSet() {
176
206
@ Test
177
207
public void argsShortNamesAreCaseSensitive1 () {
178
208
String [] args = new String [] { "-r" , "\" ns=3;s=Honeywell_OPC\" " };
179
- Cli cli = CliParser .cliFor (args , "test" , "a test program" ).addArg (Arg .String ("result" ).shortName ("r" ))
180
- .addArg (Arg .String ("recursive" ).shortName ("R" )).create ();
209
+ Cli cli = CliParser .cliFor (args , "test" , "a test program" )
210
+ .addArg (Arg .String ("result" ).shortName ("r" ))
211
+ .addArg (Arg .String ("recursive" ).shortName ("R" ))
212
+ .create ();
181
213
182
214
assertThat (cli .isArgSet ("result" )).isTrue ();
183
215
assertThat (cli .isArgSet ("recursive" )).isFalse ();
@@ -187,8 +219,10 @@ public void argsShortNamesAreCaseSensitive1() {
187
219
@ Test
188
220
public void flagsShortNamesAreCaseSensitive2 () {
189
221
String [] args = new String [] { "-R" };
190
- Cli cli = CliParser .cliFor (args , "test" , "a test program" ).addFlag (Flag .builder ("result" ).shortName ("r" ))
191
- .addFlag (Flag .builder ("recursive" ).shortName ("R" )).create ();
222
+ Cli cli = CliParser .cliFor (args , "test" , "a test program" )
223
+ .addFlag (Flag .builder ("result" ).shortName ("r" ))
224
+ .addFlag (Flag .builder ("recursive" ).shortName ("R" ))
225
+ .create ();
192
226
193
227
assertThat (cli .isFlagSet ("result" )).isFalse ();
194
228
assertThat (cli .isFlagSet ("recursive" )).isTrue ();
0 commit comments