KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > edu > rice > cs > drjava > config > VectorOptionTest


1 /*BEGIN_COPYRIGHT_BLOCK
2  *
3  * This file is part of DrJava. Download the current version of this project from http://www.drjava.org/
4  * or http://sourceforge.net/projects/drjava/
5  *
6  * DrJava Open Source License
7  *
8  * Copyright (C) 2001-2005 JavaPLT group at Rice University (javaplt@rice.edu). All rights reserved.
9  *
10  * Developed by: Java Programming Languages Team, Rice University, http://www.cs.rice.edu/~javaplt/
11  *
12  * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
13  * documentation files (the "Software"), to deal with the Software without restriction, including without limitation
14  * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
15  * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
16  *
17  * - Redistributions of source code must retain the above copyright notice, this list of conditions and the
18  * following disclaimers.
19  * - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
20  * following disclaimers in the documentation and/or other materials provided with the distribution.
21  * - Neither the names of DrJava, the JavaPLT, Rice University, nor the names of its contributors may be used to
22  * endorse or promote products derived from this Software without specific prior written permission.
23  * - Products derived from this software may not be called "DrJava" nor use the term "DrJava" as part of their
24  * names without prior written permission from the JavaPLT group. For permission, write to javaplt@rice.edu.
25  *
26  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
27  * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
28  * CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
29  * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
30  * WITH THE SOFTWARE.
31  *
32  *END_COPYRIGHT_BLOCK*/

33
34 package edu.rice.cs.drjava.config;
35
36 import edu.rice.cs.drjava.DrJavaTestCase;
37
38 import java.util.Vector JavaDoc;
39
40
41 /** Class according to the JUnit protocol. Tests the proper functionality of the class VectorOption.
42  * @version $Id: VectorOptionTest.java 3888 2006-06-15 12:06:50Z rcartwright $
43  */

44 public final class VectorOptionTest extends DrJavaTestCase {
45   private VectorOption<Integer JavaDoc> _ivo;
46   private VectorOption<Boolean JavaDoc> _bvo;
47
48   public void setUp() throws Exception JavaDoc {
49     super.setUp();
50     // name fields are irrelevant at this point.
51
_ivo = new VectorOption<Integer JavaDoc>("whatever", new IntegerOption("", null), (Vector JavaDoc<Integer JavaDoc>) null);
52     _bvo = new VectorOption<Boolean JavaDoc>("everwhat", new BooleanOption("", null), (Vector JavaDoc<Boolean JavaDoc>) null);
53   }
54
55   public void testGetName() {
56     assertEquals("whatever", _ivo.getName());
57     assertEquals("everwhat", _bvo.getName());
58   }
59
60   public void testParse() {
61     assertTrue(_ivo.parse("[]").isEmpty());
62     assertTrue(_bvo.parse("[]").isEmpty());
63
64     try { _ivo.parse("[,]"); fail("Comma at beginning."); }
65     catch (OptionParseException e) { }
66     
67     try { _ivo.parse("[11"); fail("Missing footer."); }
68     catch (OptionParseException e) { }
69     try { _ivo.parse("[11,]"); fail("Comma w/o following list element."); }
70     catch (OptionParseException e) { }
71     
72     try { _ivo.parse("11]"); fail("Missing header."); }
73     catch (OptionParseException e) { }
74     
75     try { _ivo.parse("[11,,22]"); fail("Missing list element."); }
76     catch (OptionParseException e) { }
77     
78     try { _ivo.parse("{11,22}"); fail("Illegal header and footer."); }
79     catch (OptionParseException e) { }
80     
81     try { _ivo.parse("[11;22]"); fail("Illegal delimiter."); }
82     catch (OptionParseException e) { }
83
84     Vector JavaDoc<Boolean JavaDoc> bv = _bvo.parse("[true]");
85
86     assertEquals(1, bv.size());
87     assertEquals(Boolean.TRUE, bv.get(0));
88
89     bv = _bvo.parse("[true,false,true,true]");
90
91     assertEquals(4, bv.size());
92     assertEquals(Boolean.TRUE, bv.get(0));
93     assertEquals(Boolean.FALSE, bv.get(1));
94     assertEquals(Boolean.TRUE, bv.get(2));
95     assertEquals(Boolean.TRUE, bv.get(3));
96
97     try { _bvo.parse("[11]"); fail("Number instead of boolean."); }
98     catch (OptionParseException e) { }
99   }
100
101   public void testFormat() {
102     Vector JavaDoc<Integer JavaDoc> iv = new Vector JavaDoc<Integer JavaDoc>();
103     assertEquals("[]", _ivo.format(iv));
104
105     iv.add(new Integer JavaDoc(-33));
106     assertEquals("[-33]", _ivo.format(iv));
107
108     iv.add(new Integer JavaDoc(2));
109     assertEquals("[-33,2]", _ivo.format(iv));
110
111     iv.add(new Integer JavaDoc(0));
112     assertEquals("[-33,2,0]", _ivo.format(iv));
113   }
114 }
115
Popular Tags