KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > cli > jmx > cmd > ArgHelperTest


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the License). You may not use this file except in
5  * compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * https://glassfish.dev.java.net/public/CDDLv1.0.html or
9  * glassfish/bootstrap/legal/CDDLv1.0.txt.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * Header Notice in each file and include the License file
15  * at glassfish/bootstrap/legal/CDDLv1.0.txt.
16  * If applicable, add the following below the CDDL Header,
17  * with the fields enclosed by brackets [] replaced by
18  * you own identifying information:
19  * "Portions Copyrighted [year] [name of copyright owner]"
20  *
21  * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
22  */

23  
24 /*
25  * $Header: /cvs/glassfish/admin-cli/cli-api/src/java/com/sun/cli/jmx/cmd/ArgHelperTest.java,v 1.3 2005/12/25 03:45:28 tcfujii Exp $
26  * $Revision: 1.3 $
27  * $Date: 2005/12/25 03:45:28 $
28  */

29  
30 package com.sun.cli.jmx.cmd;
31
32 import java.util.Arrays JavaDoc;
33 import java.util.ListIterator JavaDoc;
34
35 import junit.framework.TestCase;
36 import com.sun.cli.util.stringifier.SmartStringifier;
37 import com.sun.cli.util.stringifier.ArrayStringifier;
38
39 public class ArgHelperTest extends TestCase
40 {
41         private static void
42     dm( Object JavaDoc msg )
43     {
44         System.out.println( SmartStringifier.toString( msg ) );
45     }
46     
47         public
48     ArgHelperTest( String JavaDoc name )
49     {
50         super( name );
51     }
52     
53     
54     
55         ArgHelper
56     setupArgHelper( int startOffset, String JavaDoc options, String JavaDoc input)
57         throws Exception JavaDoc
58     {
59         final ArgHelperOptionsInfo optionsInfo = new ArgHelperOptionsInfo();
60         
61         if ( options != null )
62         {
63             optionsInfo.addOptions( options );
64         }
65         
66         final String JavaDoc [] tokens = (input.length() == 0) ?
67                             new String JavaDoc [0] : input.split( "" + ArgHelperOptionsInfo.MULTIPLE_DELIM );
68         
69         final ListIterator JavaDoc iter = Arrays.asList( tokens ).listIterator( startOffset );
70         final ArgHelper argHelper = new ArgHelperImpl( iter, optionsInfo );
71         
72         return( argHelper );
73     }
74     
75         ArgHelper
76     setupArgHelper( String JavaDoc options, String JavaDoc input)
77         throws Exception JavaDoc
78     {
79         return( setupArgHelper( 0, options, input ) );
80     }
81
82     
83     //-------------------------------------------------------------------------
84

85         public void
86     testNoOptionsOrOperands()
87         throws Exception JavaDoc
88     {
89         final ArgHelper argHelper = setupArgHelper( null, "" );
90         
91         assertEquals( "expected no options", 0, argHelper.countOptions() );
92         assertEquals( "expected no operands", 0, argHelper.getOperands().length );
93     }
94
95
96         public void
97     testBooleanWithoutArg()
98         throws Exception JavaDoc
99     {
100         final String JavaDoc booleanOptions = "testbool";
101         final String JavaDoc input = "--testbool";
102         
103         final ArgHelper argHelper = setupArgHelper( booleanOptions, input );
104         
105         final Boolean JavaDoc value = argHelper.getBoolean( booleanOptions, null );
106         assertEquals( "expected true from " + input, Boolean.TRUE, value );
107     }
108     
109
110         public void
111     testBooleanWithInlineArgFalse()
112         throws Exception JavaDoc
113     {
114         final String JavaDoc booleanOptions = "testbool";
115         final String JavaDoc input = "--testbool=false";
116         
117         final ArgHelper argHelper = setupArgHelper( booleanOptions, input );
118         
119         final Boolean JavaDoc value = argHelper.getBoolean( booleanOptions, null );
120         assertEquals( "expected FALSE from " + input, Boolean.FALSE, value );
121     }
122     
123         public void
124     testBooleanWithInlineArgTrue()
125         throws Exception JavaDoc
126     {
127         final String JavaDoc booleanOptions = "testbool";
128         final String JavaDoc input = "--testbool=true";
129         
130         final ArgHelper argHelper = setupArgHelper( booleanOptions, input );
131         
132         final Boolean JavaDoc value = argHelper.getBoolean( booleanOptions, null );
133         assertEquals( "expected TRUE from " + input, Boolean.TRUE, value );
134     }
135     
136     
137         public void
138     testBooleanFailureWithSeparateArgTrue()
139         throws Exception JavaDoc
140     {
141         final String JavaDoc booleanOptions = "testbool";
142         final String JavaDoc input = "--testbool true";// 'true' is an operand
143

144         final ArgHelper argHelper = setupArgHelper( booleanOptions, input );
145         
146         final Boolean JavaDoc value = argHelper.getBoolean( booleanOptions, null );
147         assertEquals( "expected 1 operand from: " + input, 1, argHelper.getOperands().length );
148         assertEquals( "expected 1 option from: " + input, 1, argHelper.countOptions() );
149     }
150     
151         public void
152     testBooleanFailureWithSeparateArg()
153         throws Exception JavaDoc
154     {
155         final String JavaDoc booleanOptions = "testbool";
156         final String JavaDoc input = "--testbool false";// 'false' is an operand
157

158         final ArgHelper argHelper = setupArgHelper( booleanOptions, input );
159         
160         final Boolean JavaDoc value = argHelper.getBoolean( booleanOptions, null );
161         assertEquals( "expected 1 operand from: " + input, 1, argHelper.getOperands().length );
162         assertEquals( "expected 1 option from: " + input, 1, argHelper.countOptions() );
163     }
164
165     
166         public void
167     testMultipleBooleans()
168         throws Exception JavaDoc
169     {
170         final String JavaDoc booleanOptions = "b1 b2 b3 b4";
171         final String JavaDoc input = "--b1 --b2=false --b3 --b4=false";
172         
173         final ArgHelper argHelper = setupArgHelper( booleanOptions, input );
174         
175         assertEquals( "expected b1 to be true from: " + input,
176             Boolean.TRUE, argHelper.getBoolean( "b1", null ) );
177             
178         assertEquals( "expected b2 to be false from: " + input,
179             Boolean.FALSE, argHelper.getBoolean( "b2", null ) );
180             
181         assertEquals( "expected b3 to be true from: " + input,
182             Boolean.TRUE, argHelper.getBoolean( "b3", null ) );
183             
184         assertEquals( "expected b4 to be false from: " + input,
185             Boolean.FALSE, argHelper.getBoolean( "b4", null ) );
186     }
187     
188
189     
190     // test single boolean option
191
public void
192     testBooleanFailureWithEquals( )
193         throws Exception JavaDoc
194     {
195         final String JavaDoc booleanOptions = "b1";
196         final String JavaDoc input = "--b1=hello";
197         
198         try
199         {
200             ArgHelper argHelper = setupArgHelper( booleanOptions, input );
201             argHelper.getBoolean( "b1", null );
202             fail( "expecte this input to fail for boolean: " + input );
203         }
204         catch( Exception JavaDoc e )
205         {
206         }
207     }
208
209     
210     
211     // test single boolean option
212
public void
213     testInteger0()
214         throws Exception JavaDoc
215     {
216         final ArgHelper argHelper = setupArgHelper( "i1,1", "--i1=0" );
217         
218         final Integer JavaDoc value = argHelper.getInteger( "i1" );
219         assertEquals( new Integer JavaDoc( 0 ), value );
220     }
221     
222     // test single boolean option
223
public void
224     testIntegerNegative()
225         throws Exception JavaDoc
226     {
227         final ArgHelper argHelper = setupArgHelper( "i1,1", "--i1=-9999" );
228         
229         final Integer JavaDoc value = argHelper.getInteger( "i1" );
230         assertEquals( new Integer JavaDoc( -9999 ), value );
231     }
232     
233     // test single boolean option
234
public void
235     testIntegerPositive()
236         throws Exception JavaDoc
237     {
238         final ArgHelper argHelper = setupArgHelper( "i1,1", "--i1=9999" );
239         
240         final Integer JavaDoc value = argHelper.getInteger( "i1" );
241         assertEquals( new Integer JavaDoc( 9999 ), value );
242     }
243     
244         public void
245     testNoOptionsNoOperands()
246         throws Exception JavaDoc
247     {
248         final ArgHelper argHelper = setupArgHelper( "s1,1", "--s1=" );
249         
250         final String JavaDoc value = argHelper.getString( "s1", null);
251         assertEquals( "", value );
252     }
253     
254         public void
255     testNoOptionsNoOperandsWithCmd()
256         throws Exception JavaDoc
257     {
258         final ArgHelper argHelper = setupArgHelper( 1, null, "cmd" );
259         
260         assertEquals( "expecting no options", 0, argHelper.countOptions() );
261         assertEquals( "expecting no operands", 0, argHelper.getOperands().length );
262     }
263     
264         public void
265     testOnlyOperands()
266         throws Exception JavaDoc
267     {
268         final ArgHelper argHelper = setupArgHelper( "", "op1 op2" );
269         
270         assertEquals( "expecting 2 operands", 2, argHelper.getOperands().length );
271         assertEquals( "expecting 0 options", 0, argHelper.countOptions() );
272     }
273     
274         public void
275     testNoOperands()
276         throws Exception JavaDoc
277     {
278         final ArgHelper argHelper = setupArgHelper( "b1 b2 s1,1", "--b1 --b2 --s1=hello" );
279         
280         assertEquals( "expecting 0 operands", 0, argHelper.getOperands().length );
281         assertEquals( "expecting 3 options", 3, argHelper.countOptions() );
282         
283         final String JavaDoc value = argHelper.getString( "s1", null);
284         assertEquals( "hello", value );
285     }
286     
287     
288         public void
289     testMultipleArgsWithSpaces()
290         throws Exception JavaDoc
291     {
292         final ArgHelper argHelper = setupArgHelper( "a1,4", "--a1 1 2 hello there op1 op2" );
293         
294         final String JavaDoc [] values = argHelper.getArgValues( "a1" );
295         assertEquals( values.length, 4 );
296         assertEquals( "expected 2 operands", 2, argHelper.getOperands().length );
297     }
298     
299     
300         public void
301     testMultipleArgsWithEquals()
302         throws Exception JavaDoc
303     {
304         final ArgHelper argHelper = setupArgHelper( "a1,4", "--a1=1,2,hello,there op1 op2" );
305         
306         final String JavaDoc [] values = argHelper.getArgValues( "a1" );
307         assertEquals( "expected 4 options", values.length, 4 );
308         assertEquals( "expected 2 operands", 2, argHelper.getOperands().length );
309     }
310     
311         public void
312     testIllegalOptionsFailure()
313         throws Exception JavaDoc
314     {
315         try
316         {
317             final ArgHelper argHelper = setupArgHelper( "", "--option1=1" );
318         }
319         catch( Exception JavaDoc e )
320         {
321             // we expected to get here
322
}
323     }
324     
325         public void
326     testSingleCharBoolean()
327         throws Exception JavaDoc
328     {
329         final String JavaDoc booleanOptions = "b";
330         final String JavaDoc input = "-b";
331             
332         try
333         {
334             final ArgHelper argHelper = setupArgHelper( booleanOptions, input );
335             
336             assertEquals( "expected TRUE for: " + input,
337                 Boolean.TRUE, argHelper.getBoolean( booleanOptions, null) );
338         }
339         catch( Exception JavaDoc e )
340         {
341             // we expected to get here
342
}
343     }
344     
345         public void
346     testSingleCharBooleanWithValue()
347         throws Exception JavaDoc
348     {
349         final String JavaDoc booleanOptions = "b";
350         final String JavaDoc input = "-b=false";
351             
352         try
353         {
354             final ArgHelper argHelper = setupArgHelper( booleanOptions, input );
355             
356             assertEquals( "expected FALSE for: " + input,
357                 Boolean.FALSE, argHelper.getBoolean( booleanOptions, null) );
358         }
359         catch( Exception JavaDoc e )
360         {
361             // we expected to get here
362
}
363     }
364     
365         protected void
366     setUp()
367     {
368     }
369     
370         protected void
371     tearDown()
372     {
373     }
374     
375 };
376
377
378
379
Popular Tags