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 libcore.java.util;
20 import dalvik.annotation.TestLevel;
21 import dalvik.annotation.TestTargetClass;
22 import dalvik.annotation.TestTargetNew;
23 import java.util.Arrays;
24 import java.util.Collection;
25 import java.util.HashMap;
26 import java.util.Iterator;
27 import java.util.NoSuchElementException;
29 import java.util.SortedSet;
30 import java.util.TreeSet;
32 @TestTargetClass(TreeSet.class)
33 public class OldTreeSetTest extends junit.framework.TestCase {
37 Object objArray[] = new Object[1000];
40 * @tests java.util.TreeSet#TreeSet(java.util.Collection)
43 level = TestLevel.COMPLETE,
46 args = {java.util.Collection.class}
48 public void test_ConstructorLjava_util_Collection() {
49 // Test for method java.util.TreeSet(java.util.Collection)
50 TreeSet myTreeSet = new TreeSet(Arrays.asList(objArray));
51 assertTrue("TreeSet incorrect size",
52 myTreeSet.size() == objArray.length);
53 for (int counter = 0; counter < objArray.length; counter++)
54 assertTrue("TreeSet does not contain correct elements", myTreeSet
55 .contains(objArray[counter]));
57 HashMap hm = new HashMap();
58 hm.put("First", new Integer(1));
59 hm.put(new Integer(2), "two");
62 new TreeSet(hm.values());
63 fail("ClassCastException expected");
64 } catch (ClassCastException e) {
69 new TreeSet((Collection)null);
70 fail("NullPointerException expected");
71 } catch (NullPointerException e) {
77 * @tests java.util.TreeSet#TreeSet(java.util.SortedSet)
80 level = TestLevel.COMPLETE,
83 args = {java.util.SortedSet.class}
85 public void test_ConstructorLjava_util_SortedSet() {
87 new TreeSet((SortedSet)null);
88 fail("NullPointerException expected");
89 } catch (NullPointerException e) {
95 * @tests java.util.TreeSet#add(java.lang.Object)
98 level = TestLevel.COMPLETE,
101 args = {java.lang.Object.class}
103 public void test_addLjava_lang_Object() {
104 // Test for method boolean java.util.TreeSet.add(java.lang.Object)
105 ts.add(new Integer(-8));
106 assertTrue("Failed to add Object", ts.contains(new Integer(-8)));
108 assertTrue("Added existing element", ts.size() == objArray.length + 1);
110 HashMap hm = new HashMap();
111 hm.put("First", new Integer(1));
112 hm.put(new Integer(2), "two");
115 ts.add("Wrong element");
116 fail("ClassCastException expected");
117 } catch (ClassCastException e) {
123 * @tests java.util.TreeSet#addAll(java.util.Collection)
126 level = TestLevel.COMPLETE,
129 args = {java.util.Collection.class}
131 public void test_addAllLjava_util_Collection() {
132 // Test for method boolean
133 // java.util.TreeSet.addAll(java.util.Collection)
134 TreeSet s = new TreeSet();
136 assertTrue("Incorrect size after add", s.size() == ts.size());
137 Iterator i = ts.iterator();
139 assertTrue("Returned incorrect set", s.contains(i.next()));
141 HashMap hm = new HashMap();
142 hm.put("First", new Integer(1));
143 hm.put(new Integer(2), "two");
146 s.addAll(hm.values());
147 fail("ClassCastException expected");
148 } catch (ClassCastException e) {
154 fail("NullPointerException expected");
155 } catch (NullPointerException e) {
161 * @tests java.util.TreeSet#first()
164 level = TestLevel.COMPLETE,
169 public void test_first() {
170 // Test for method java.lang.Object java.util.TreeSet.first()
171 assertTrue("Returned incorrect first element",
172 ts.first() == objArray[0]);
177 fail("NoSuchElementException expected");
178 } catch (NoSuchElementException e) {
184 * @tests java.util.TreeSet#headSet(java.lang.Object)
187 level = TestLevel.COMPLETE,
190 args = {java.lang.Object.class}
192 public void test_headSetLjava_lang_Object() {
193 // Test for method java.util.SortedSet
194 // java.util.TreeSet.headSet(java.lang.Object)
195 Set s = ts.headSet(new Integer(100));
196 assertEquals("Returned set of incorrect size", 100, s.size());
197 for (int i = 0; i < 100; i++)
198 assertTrue("Returned incorrect set", s.contains(objArray[i]));
200 SortedSet sort = ts.headSet(new Integer(100));
202 sort.headSet(new Integer(101));
203 fail("IllegalArgumentException expected");
204 } catch (IllegalArgumentException e) {
210 fail("ClassCastException expected");
211 } catch (ClassCastException e) {
217 fail("NullPointerException expected");
218 } catch (NullPointerException e) {
224 * @tests java.util.TreeSet#last()
227 level = TestLevel.COMPLETE,
232 public void test_last() {
233 // Test for method java.lang.Object java.util.TreeSet.last()
234 assertTrue("Returned incorrect last element",
235 ts.last() == objArray[objArray.length - 1]);
240 fail("NoSuchElementException expected");
241 } catch (NoSuchElementException e) {
247 * @tests java.util.TreeSet#subSet(java.lang.Object, java.lang.Object)
250 level = TestLevel.COMPLETE,
253 args = {java.lang.Object.class, java.lang.Object.class}
255 public void test_subSetLjava_lang_ObjectLjava_lang_Object() {
256 // Test for method java.util.SortedSet
257 // java.util.TreeSet.subSet(java.lang.Object, java.lang.Object)
258 final int startPos = objArray.length / 4;
259 final int endPos = 3 * objArray.length / 4;
260 SortedSet aSubSet = ts.subSet(objArray[startPos], objArray[endPos]);
261 assertTrue("Subset has wrong number of elements",
262 aSubSet.size() == (endPos - startPos));
263 for (int counter = startPos; counter < endPos; counter++)
264 assertTrue("Subset does not contain all the elements it should",
265 aSubSet.contains(objArray[counter]));
268 ts.subSet(objArray[3], objArray[0]);
269 fail("IllegalArgumentException expected");
270 } catch (IllegalArgumentException e) {
275 ts.subSet(null, objArray[3]);
276 fail("NullPointerException expected");
277 } catch (NullPointerException e) {
282 ts.subSet(objArray[3], null);
283 fail("NullPointerException expected");
284 } catch (NullPointerException e) {
289 ts.subSet(objArray[3], this);
290 fail("ClassCastException expected");
291 } catch (ClassCastException e) {
297 * @tests java.util.TreeSet#tailSet(java.lang.Object)
300 level = TestLevel.COMPLETE,
303 args = {java.lang.Object.class}
305 public void test_tailSetLjava_lang_Object() {
306 // Test for method java.util.SortedSet
307 // java.util.TreeSet.tailSet(java.lang.Object)
308 Set s = ts.tailSet(new Integer(900));
309 assertEquals("Returned set of incorrect size", 100, s.size());
310 for (int i = 900; i < objArray.length; i++)
311 assertTrue("Returned incorrect set", s.contains(objArray[i]));
313 SortedSet sort = ts.tailSet(new Integer(101));
316 sort.tailSet(new Integer(100));
317 fail("IllegalArgumentException expected");
318 } catch (IllegalArgumentException e) {
324 fail("ClassCastException expected");
325 } catch (ClassCastException e) {
331 fail("NullPointerException expected");
332 } catch (NullPointerException e) {
338 * Sets up the fixture, for example, open a network connection. This method
339 * is called before a test is executed.
341 protected void setUp() {
343 for (int i = 0; i < objArray.length; i++) {
344 Object x = objArray[i] = new Integer(i);
350 * Tears down the fixture, for example, close a network connection. This
351 * method is called after a test is executed.
353 protected void tearDown() {