@@ -37,6 +37,14 @@ Licensed to the Apache Software Foundation (ASF) under one or more
3737
3838@ SuppressWarnings ("deprecation" ) // tests some deprecated classes
3939public class OptionsTest {
40+
41+ private void assertToStrings (Option option ) {
42+ // Should never throw.
43+ // Should return a String, not null.
44+ assertNotNull (option .toString ());
45+ assertNotNull (option .toDeprecatedString ());
46+ }
47+
4048 @ Test
4149 public void testAddConflictingOptions () {
4250 final Options options1 = new Options ();
@@ -46,14 +54,12 @@ public void testAddConflictingOptions() {
4654 options1 .addOptionGroup (group1 );
4755 options1 .addOption (Option .builder ("x" ).build ());
4856 options1 .addOption (Option .builder ("y" ).build ());
49-
5057 final Options options2 = new Options ();
5158 final OptionGroup group2 = new OptionGroup ();
5259 group2 .addOption (Option .builder ("x" ).type (Integer .class ).build ());
5360 group2 .addOption (Option .builder ("b" ).type (Integer .class ).build ());
5461 options2 .addOptionGroup (group2 );
5562 options2 .addOption (Option .builder ("c" ).build ());
56-
5763 assertThrows (IllegalArgumentException .class , () -> options1 .addOptions (options2 ));
5864 }
5965
@@ -125,35 +131,43 @@ public void testAddOptions2X() {
125131
126132 @ Test
127133 public void testDeprecated () {
128- final Options opts = new Options ();
129- opts .addOption (Option .builder ().option ("a" ).build ());
130- opts .addOption (Option .builder ().option ("b" ).deprecated ().build ());
131- opts .addOption (Option .builder ().option ("c" )
134+ final Options options = new Options ();
135+ options .addOption (Option .builder ().option ("a" ).build ());
136+ options .addOption (Option .builder ().option ("b" ).deprecated ().build ());
137+ options .addOption (Option .builder ().option ("c" )
132138 .deprecated (DeprecatedAttributes .builder ().setForRemoval (true ).setSince ("2.0" ).setDescription ("Use X." ).get ()).build ());
139+ options .addOption (Option .builder ().option ("d" ).deprecated ().longOpt ("longD" ).hasArgs ().build ());
133140 // toString()
134- assertTrue (opts .getOption ("a" ).toString ().startsWith ("[ Option a" ));
135- assertTrue (opts .getOption ("b" ).toString ().startsWith ("[ Option b" ));
136- assertTrue (opts .getOption ("c" ).toString ().startsWith ("[ Option c" ));
141+ assertTrue (options .getOption ("a" ).toString ().startsWith ("[ Option a" ));
142+ assertTrue (options .getOption ("b" ).toString ().startsWith ("[ Option b" ));
143+ assertTrue (options .getOption ("c" ).toString ().startsWith ("[ Option c" ));
137144 // toDeprecatedString()
138- assertFalse (opts .getOption ("a" ).toDeprecatedString ().startsWith ("Option a" ));
139- assertEquals ("Option 'b': Deprecated" , opts .getOption ("b" ).toDeprecatedString ());
140- assertEquals ("Option 'c': Deprecated for removal since 2.0: Use X." , opts .getOption ("c" ).toDeprecatedString ());
145+ assertFalse (options .getOption ("a" ).toDeprecatedString ().startsWith ("Option a" ));
146+ assertEquals ("Option 'b': Deprecated" , options .getOption ("b" ).toDeprecatedString ());
147+ assertEquals ("Option 'c': Deprecated for removal since 2.0: Use X." , options .getOption ("c" ).toDeprecatedString ());
148+ assertToStrings (options .getOption ("a" ));
149+ assertToStrings (options .getOption ("b" ));
150+ assertToStrings (options .getOption ("c" ));
151+ assertToStrings (options .getOption ("d" ));
141152 }
142153
143154 @ Test
144155 public void testDuplicateLong () {
145- final Options opts = new Options ();
146- opts .addOption ("a" , "--a" , false , "toggle -a" );
147- opts .addOption ("a" , "--a" , false , "toggle -a*" );
148- assertEquals ("toggle -a*" , opts .getOption ("a" ).getDescription (), "last one in wins" );
156+ final Options options = new Options ();
157+ options .addOption ("a" , "--a" , false , "toggle -a" );
158+ options .addOption ("a" , "--a" , false , "toggle -a*" );
159+ assertEquals ("toggle -a*" , options .getOption ("a" ).getDescription (), "last one in wins" );
160+ assertToStrings (options .getOption ("a" ));
149161 }
150162
151163 @ Test
152164 public void testDuplicateSimple () {
153- final Options opts = new Options ();
154- opts .addOption ("a" , false , "toggle -a" );
155- opts .addOption ("a" , true , "toggle -a*" );
156- assertEquals ("toggle -a*" , opts .getOption ("a" ).getDescription (), "last one in wins" );
165+ final Options options = new Options ();
166+ options .addOption ("a" , false , "toggle -a" );
167+ assertToStrings (options .getOption ("a" ));
168+ options .addOption ("a" , true , "toggle -a*" );
169+ assertEquals ("toggle -a*" , options .getOption ("a" ).getDescription (), "last one in wins" );
170+ assertToStrings (options .getOption ("a" ));
157171 }
158172
159173 @ Test
@@ -163,10 +177,11 @@ public void testGetMatchingOpts() {
163177 options .addOption (OptionBuilder .create ());
164178 OptionBuilder .withLongOpt ("verbose" );
165179 options .addOption (OptionBuilder .create ());
166-
167180 assertTrue (options .getMatchingOptions ("foo" ).isEmpty ());
168181 assertEquals (1 , options .getMatchingOptions ("version" ).size ());
169182 assertEquals (2 , options .getMatchingOptions ("ver" ).size ());
183+ assertToStrings (options .getOption ("version" ));
184+ assertToStrings (options .getOption ("verbose" ));
170185 }
171186
172187 @ Test
@@ -225,13 +240,13 @@ public void testHelpOptions() {
225240
226241 @ Test
227242 public void testLong () {
228- final Options opts = new Options ();
243+ final Options options = new Options ();
229244
230- opts .addOption ("a" , "--a" , false , "toggle -a" );
231- opts .addOption ("b" , "--b" , true , "set -b" );
245+ options .addOption ("a" , "--a" , false , "toggle -a" );
246+ options .addOption ("b" , "--b" , true , "set -b" );
232247
233- assertTrue (opts .hasOption ("a" ));
234- assertTrue (opts .hasOption ("b" ));
248+ assertTrue (options .hasOption ("a" ));
249+ assertTrue (options .hasOption ("b" ));
235250 }
236251
237252 @ Test
@@ -264,13 +279,13 @@ public void testMissingOptionsException() throws ParseException {
264279
265280 @ Test
266281 public void testSimple () {
267- final Options opts = new Options ();
282+ final Options options = new Options ();
268283
269- opts .addOption ("a" , false , "toggle -a" );
270- opts .addOption ("b" , true , "toggle -b" );
284+ options .addOption ("a" , false , "toggle -a" );
285+ options .addOption ("b" , true , "toggle -b" );
271286
272- assertTrue (opts .hasOption ("a" ));
273- assertTrue (opts .hasOption ("b" ));
287+ assertTrue (options .hasOption ("a" ));
288+ assertTrue (options .hasOption ("b" ));
274289 }
275290
276291 @ Test
0 commit comments