2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
18 package tests.api.java.util;
20 import dalvik.annotation.TestTargetNew;
21 import dalvik.annotation.TestTargets;
22 import dalvik.annotation.TestLevel;
23 import dalvik.annotation.TestTargetClass;
25 import java.util.NoSuchElementException;
26 import java.util.StringTokenizer;
28 @TestTargetClass(StringTokenizer.class)
29 public class StringTokenizerTest extends junit.framework.TestCase {
32 * @tests java.util.StringTokenizer#StringTokenizer(java.lang.String)
35 level = TestLevel.COMPLETE,
37 method = "StringTokenizer",
38 args = {java.lang.String.class}
40 public void test_ConstructorLjava_lang_String() {
41 // Test for method java.util.StringTokenizer(java.lang.String)
43 new StringTokenizer(null);
44 fail("NullPointerException is not thrown.");
45 } catch(NullPointerException npe) {
51 * @tests java.util.StringTokenizer#StringTokenizer(java.lang.String,
55 level = TestLevel.COMPLETE,
57 method = "StringTokenizer",
58 args = {java.lang.String.class, java.lang.String.class}
60 public void test_ConstructorLjava_lang_StringLjava_lang_String() {
61 // Test for method java.util.StringTokenizer(java.lang.String,
63 StringTokenizer st = new StringTokenizer("This:is:a:test:String", ":");
64 assertTrue("Created incorrect tokenizer", st.countTokens() == 5
65 && (st.nextElement().equals("This")));
66 st = new StringTokenizer("This:is:a:test:String", null);
69 new StringTokenizer(null, ":");
70 fail("NullPointerException expected");
71 } catch (NullPointerException e) {
77 * @tests java.util.StringTokenizer#StringTokenizer(java.lang.String,
78 * java.lang.String, boolean)
81 level = TestLevel.COMPLETE,
83 method = "StringTokenizer",
84 args = {java.lang.String.class, java.lang.String.class, boolean.class}
86 public void test_ConstructorLjava_lang_StringLjava_lang_StringZ() {
87 // Test for method java.util.StringTokenizer(java.lang.String,
88 // java.lang.String, boolean)
89 StringTokenizer st = new StringTokenizer("This:is:a:test:String", ":",
92 assertTrue("Created incorrect tokenizer", st.countTokens() == 8
93 && (st.nextElement().equals(":")));
94 st = new StringTokenizer("This:is:a:test:String", null, true);
95 st = new StringTokenizer("This:is:a:test:String", null, false);
98 new StringTokenizer(null, ":", true);
99 fail("NullPointerException expected");
100 } catch (NullPointerException e) {
106 * @tests java.util.StringTokenizer#countTokens()
109 level = TestLevel.COMPLETE,
111 method = "countTokens",
114 public void test_countTokens() {
115 // Test for method int java.util.StringTokenizer.countTokens()
116 StringTokenizer st = new StringTokenizer("This is a test String");
118 assertEquals("Incorrect token count returned", 5, st.countTokens());
122 * @tests java.util.StringTokenizer#hasMoreElements()
125 level = TestLevel.COMPLETE,
127 method = "hasMoreElements",
130 public void test_hasMoreElements() {
131 // Test for method boolean java.util.StringTokenizer.hasMoreElements()
133 StringTokenizer st = new StringTokenizer("This is a test String");
135 assertTrue("hasMoreElements returned incorrect value", st
141 assertTrue("hasMoreElements returned incorrect value", !st
146 * @tests java.util.StringTokenizer#hasMoreTokens()
149 level = TestLevel.COMPLETE,
151 method = "hasMoreTokens",
154 public void test_hasMoreTokens() {
155 // Test for method boolean java.util.StringTokenizer.hasMoreTokens()
156 StringTokenizer st = new StringTokenizer("This is a test String");
157 for (int counter = 0; counter < 5; counter++) {
159 "StringTokenizer incorrectly reports it has no more tokens",
163 assertTrue("StringTokenizer incorrectly reports it has more tokens",
164 !st.hasMoreTokens());
168 * @tests java.util.StringTokenizer#nextElement()
171 level = TestLevel.COMPLETE,
173 method = "nextElement",
176 public void test_nextElement() {
177 // Test for method java.lang.Object
178 // java.util.StringTokenizer.nextElement()
179 StringTokenizer st = new StringTokenizer("This is a test String");
180 assertEquals("nextElement returned incorrect value", "This", ((String) st
182 assertEquals("nextElement returned incorrect value", "is", ((String) st
184 assertEquals("nextElement returned incorrect value", "a", ((String) st
186 assertEquals("nextElement returned incorrect value", "test", ((String) st
188 assertEquals("nextElement returned incorrect value", "String", ((String) st
193 "nextElement failed to throw a NoSuchElementException when it should have been out of elements");
194 } catch (NoSuchElementException e) {
200 * @tests java.util.StringTokenizer#nextToken()
203 level = TestLevel.COMPLETE,
205 method = "nextToken",
208 public void test_nextToken() {
209 // Test for method java.lang.String
210 // java.util.StringTokenizer.nextToken()
211 StringTokenizer st = new StringTokenizer("This is a test String");
212 assertEquals("nextToken returned incorrect value",
213 "This", st.nextToken());
214 assertEquals("nextToken returned incorrect value",
215 "is", st.nextToken());
216 assertEquals("nextToken returned incorrect value",
217 "a", st.nextToken());
218 assertEquals("nextToken returned incorrect value",
219 "test", st.nextToken());
220 assertEquals("nextToken returned incorrect value",
221 "String", st.nextToken());
225 "nextToken failed to throw a NoSuchElementException when it should have been out of elements");
226 } catch (NoSuchElementException e) {
232 * @tests java.util.StringTokenizer#nextToken(java.lang.String)
235 level = TestLevel.COMPLETE,
237 method = "nextToken",
238 args = {java.lang.String.class}
240 public void test_nextTokenLjava_lang_String() {
241 // Test for method java.lang.String
242 // java.util.StringTokenizer.nextToken(java.lang.String)
243 StringTokenizer st = new StringTokenizer("This is a test String");
244 assertEquals("nextToken(String) returned incorrect value with normal token String",
245 "This", st.nextToken(" "));
246 assertEquals("nextToken(String) returned incorrect value with custom token String",
247 " is a ", st.nextToken("tr"));
248 assertEquals("calling nextToken() did not use the new default delimiter list",
249 "es", st.nextToken());
250 st = new StringTokenizer("This:is:a:test:String", " ");
251 assertTrue(st.nextToken(":").equals("This"));
252 assertTrue(st.nextToken(":").equals("is"));
253 assertTrue(st.nextToken(":").equals("a"));
254 assertTrue(st.nextToken(":").equals("test"));
255 assertTrue(st.nextToken(":").equals("String"));
259 fail("NoSuchElementException expected");
260 } catch (NoSuchElementException e) {
266 fail("NullPointerException expected");
267 } catch (NullPointerException e) {
273 * Sets up the fixture, for example, open a network connection. This method
274 * is called before a test is executed.
276 protected void setUp() {
280 * Tears down the fixture, for example, close a network connection. This
281 * method is called after a test is executed.
283 protected void tearDown() {