• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * Copyright (C) 2010 the original author or authors.
3  * See the notice.md file distributed with this work for additional
4  * information regarding copyright ownership.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 
19 package com.beust.jcommander.args;
20 
21 import java.util.ArrayList;
22 import java.util.EnumSet;
23 import java.util.List;
24 
25 import org.testng.Assert;
26 
27 import com.beust.jcommander.JCommander;
28 import com.beust.jcommander.Parameter;
29 
30 /**
31  * Test enums.
32  *
33  * @author Adrian Muraru
34  */
35 public class ArgsEnum {
36 
37   public enum ChoiceType { ONE, Two, THREE };
38   @Parameter(names = "-choice")
39   public ChoiceType choice = ChoiceType.ONE;
40 
41   @Parameter(names = "-choices", variableArity = true)
42   public List<ChoiceType> choices = new ArrayList<ChoiceType>();
43 
main(String[] args1)44   public static void main(String[] args1) {
45     ArgsEnum args = new ArgsEnum();
46     String[] argv = { "-choice", "ONE"};
47     JCommander jc = new JCommander(args, argv);
48     jc.usage();
49     Assert.assertEquals(jc.getParameters().get(0).getDescription(),
50         "Options: " + EnumSet.allOf((Class<? extends Enum>) ArgsEnum.ChoiceType.class));
51   }
52 
53 }
54 
55 
56