1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/* 2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * contributor license agreements. See the NOTICE file distributed with 4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * this work for additional information regarding copyright ownership. 5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (the "License"); you may not use this file except in compliance with 7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License. You may obtain a copy of the License at 8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Unless required by applicable law or agreed to in writing, software 12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * License for the specific language governing permissions and limitations under 15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License. 16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.luni.tests.java.util; 19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.Serializable; 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.ArrayList; 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Arrays; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Collection; 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Collections; 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Comparator; 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.HashMap; 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.HashSet; 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.LinkedList; 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.List; 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Map; 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.RandomAccess; 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Set; 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.SortedMap; 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.SortedSet; 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.TreeMap; 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.TreeSet; 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Vector; 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport org.apache.harmony.testframework.serialization.SerializationTest; 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport org.apache.harmony.testframework.serialization.SerializationTest.SerializableAssert; 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport junit.framework.TestCase; 43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport tests.util.SerializationTester; 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class Collections2Test extends TestCase { 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private static final SerializableAssert comparator = new SerializableAssert() { 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void assertDeserialized(Serializable reference, Serializable test) { 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(reference, test); 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }; 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#binarySearch(java.util.List, 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * java.lang.Object, java.util.Comparator) 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearchLjava_util_ListLjava_lang_ObjectLjava_util_Comparator() { 58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-94 59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes LinkedList<Integer> lst = new LinkedList<Integer>(); 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes lst.add(new Integer(30)); 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.sort(lst, null); 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int index = Collections.binarySearch(lst, new Integer(2), null); 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, index); 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#binarySearch(java.util.List, 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * java.lang.Object) 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @SuppressWarnings("unchecked") 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_binarySearchLjava_util_ListLjava_lang_Object() { 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // regression for Harmony-1367 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List localList = new LinkedList(); 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, Collections.binarySearch(localList, new Object())); 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes localList.add(new Object()); 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.binarySearch(localList, new Integer(1)); 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw ClassCastException"); 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ClassCastException e) { 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#rotate(java.util.List, int) 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_rotateLjava_util_ListI() { 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-19 Rotate an *empty* list 89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.rotate(new ArrayList<Object>(), 25); 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-20 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List<String> list = new ArrayList<String>(); 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes list.add(0, "zero"); 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes list.add(1, "one"); 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes list.add(2, "two"); 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes list.add(3, "three"); 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes list.add(4, "four"); 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.rotate(list, Integer.MIN_VALUE); 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Rotated incorrectly at position 0, ", "three", 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes list.get(0)); 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Rotated incorrectly at position 1, ", "four", 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes list.get(1)); 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Rotated incorrectly at position 2, ", "zero", 105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes list.get(2)); 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Rotated incorrectly at position 3, ", "one", 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes list.get(3)); 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Rotated incorrectly at position 4, ", "two", 109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes list.get(4)); 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#synchronizedCollection(java.util.Collection) 114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_synchronizedCollectionLjava_util_Collection() { 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-93 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.synchronizedCollection(null); 119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Assert 0: synchronizedCollection(null) must throw NPE"); 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#synchronizedSortedMap(java.util.SortedMap) 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_synchronizedSortedMapLjava_util_SortedMap() { 129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-93 131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.synchronizedSortedMap(null); 132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Assert 0: synchronizedSortedMap(null) must throw NPE"); 133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#synchronizedMap(java.util.Map) 140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_synchronizedMapLjava_util_Map() { 142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-93 144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.synchronizedMap(null); 145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Assert 0: synchronizedMap(map) must throw NPE"); 146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#synchronizedSet(java.util.Set) 153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_synchronizedSetLjava_util_Set() { 155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-93 157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.synchronizedSet(null); 158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Assert 0: synchronizedSet(set) must throw NPE"); 159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#synchronizedSortedSet(java.util.SortedSet) 166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_synchronizedSortedSetLjava_util_SortedSet() { 168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-93 170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.synchronizedSortedSet(null); 171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Assert 0: synchronizedSortedSet(null) must throw NPE"); 172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#unmodifiableCollection(java.util.Collection) 179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_unmodifiableCollectionLjava_util_Collection() { 181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-93 183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.unmodifiableCollection(null); 184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Assert 0: unmodifiableCollection(null) must throw NPE"); 185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#unmodifiableMap(java.util.Map) 192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_unmodifiableMapLjava_util_Map() { 194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-93 196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.unmodifiableMap(null); 197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Assert 0: unmodifiableMap(null) must throw NPE"); 198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#unmodifiableSet(java.util.Set) 205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_unmodifiableSetLjava_util_Set() { 207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-93 209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.unmodifiableSet(null); 210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Assert 0: unmodifiableSet(null) must throw NPE"); 211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#unmodifiableSortedMap(java.util.SortedMap) 218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_unmodifiableSortedMapLjava_util_SortedMap() { 220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-93 222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.unmodifiableSortedMap(null); 223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Assert 0: unmodifiableSortedMap(null) must throw NPE"); 224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#unmodifiableSortedSet(java.util.SortedSet) 231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_unmodifiableSortedSetLjava_util_SortedSet() { 233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-93 235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.unmodifiableSortedSet(null); 236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Assert 0: unmodifiableSortedSet(null) must throw NPE"); 237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#frequency(java.util.Collection,Object) 244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_frequencyLjava_util_CollectionLint() { 246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.frequency(null, null); 248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Assert 0: frequency(null,<any>) must throw NPE"); 249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) {} 250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List<String> strings = Arrays.asList(new String[] { "1", "2", "3", "1", "1" }); 252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Assert 1: did not find three \"1\" strings", 3, 254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.frequency(strings, "1")); 255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Assert 2: did not find one \"2\" strings", 1, Collections 257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .frequency(strings, "2")); 258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Assert 3: did not find three \"3\" strings", 1, 260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.frequency(strings, "3")); 261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Assert 4: matched on null when there are none", 0, 263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.frequency(strings, null)); 264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List<Object> objects = Arrays.asList(new Object[] { new Integer(1), null, null, 266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new Long(1) }); 267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Assert 5: did not find one Integer(1)", 1, Collections 269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .frequency(objects, new Integer(1))); 270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Assert 6: did not find one Long(1)", 1, Collections 272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .frequency(objects, new Long(1))); 273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Assert 7: did not find two null references", 2, 275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.frequency(objects, null)); 276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#reverseOrder() 280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_reverseOrder() { 282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Comparator<String> roc = Collections.reverseOrder(); 283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull("Assert 0: comparator must not be null", roc); 284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Assert 1: comparator must implement Serializable", 286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes roc instanceof Serializable); 287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] fixtureDesc = new String[] { "2", "1", "0" }; 289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] numbers = new String[] { "0", "1", "2" }; 290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(numbers, roc); 291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Assert 2: the arrays are not equal, the sort failed", 292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.equals(fixtureDesc, numbers)); 293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections#reverseOrder(java.util.Comparator) 297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_reverseOrderLjava_util_Comparator() { 299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Comparator<String> roc = Collections 300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .reverseOrder(String.CASE_INSENSITIVE_ORDER); 301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull("Assert 0: comparator must not be null", roc); 302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Assert 1: comparator must implement Serializable", 304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes roc instanceof Serializable); 305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] fixtureDesc = new String[] { "2", "1", "0" }; 307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] numbers = new String[] { "0", "1", "2" }; 308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(numbers, roc); 309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Assert 2: the arrays are not equal, the sort failed", 310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.equals(fixtureDesc, numbers)); 311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes roc = Collections.reverseOrder(null); 313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull("Assert 3: comparator must not be null", roc); 314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Assert 4: comparator must implement Serializable", 316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes roc instanceof Serializable); 317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes numbers = new String[] { "0", "1", "2" }; 319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.sort(numbers, roc); 320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Assert 5: the arrays are not equal, the sort failed", 321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Arrays.equals(fixtureDesc, numbers)); 322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_AddAll() { 325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List<Object> l = new ArrayList<Object>(); 326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(Collections.addAll(l, new Object[] {})); 327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(l.isEmpty()); 328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(Collections.addAll(l, new Object[] { new Integer(1), 329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new Integer(2), new Integer(3) })); 330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(l.isEmpty()); 331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(l.equals(Arrays.asList(new Object[] { new Integer(1), 332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new Integer(2), new Integer(3) }))); 333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Disjoint() { 336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] arr1 = new Object[10]; 337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < arr1.length; i++) { 338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes arr1[i] = new Integer(i); 339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] arr2 = new Object[20]; 341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < arr2.length; i++) { 342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes arr2[i] = new Integer(100 + i); 343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collection<Object> c1 = new ArrayList<Object>(); 345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collection<Object> c2 = new ArrayList<Object>(); 346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.addAll(c1, arr1); 347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.addAll(c2, arr2); 348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(Collections.disjoint(c1, c2)); 349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1.add(arr2[10]); 350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(Collections.disjoint(c1, c2)); 351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1 = new LinkedList<Object>(); 353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c2 = new LinkedList<Object>(); 354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.addAll(c1, arr1); 355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.addAll(c2, arr2); 356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(Collections.disjoint(c1, c2)); 357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1.add(arr2[10]); 358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(Collections.disjoint(c1, c2)); 359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1 = new TreeSet<Object>(); 361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c2 = new TreeSet<Object>(); 362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.addAll(c1, arr1); 363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.addAll(c2, arr2); 364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(Collections.disjoint(c1, c2)); 365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1.add(arr2[10]); 366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(Collections.disjoint(c1, c2)); 367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1 = new HashSet<Object>(); 369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c2 = new HashSet<Object>(); 370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.addAll(c1, arr1); 371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.addAll(c2, arr2); 372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(Collections.disjoint(c1, c2)); 373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1.add(arr2[10]); 374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(Collections.disjoint(c1, c2)); 375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1 = new LinkedList<Object>(); 377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c2 = new TreeSet<Object>(); 378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.addAll(c1, arr1); 379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.addAll(c2, arr2); 380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(Collections.disjoint(c1, c2)); 381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1.add(arr2[10]); 382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(Collections.disjoint(c1, c2)); 383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1 = new Vector<Object>(); 385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c2 = new HashSet<Object>(); 386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.addAll(c1, arr1); 387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.addAll(c2, arr2); 388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(Collections.disjoint(c1, c2)); 389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1.add(arr2[10]); 390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(Collections.disjoint(c1, c2)); 391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections.EmptyList#readResolve() 396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_EmptyList_readResolve() throws Exception { 398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SerializationTest.verifySelf(Collections.EMPTY_LIST, comparator); 399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections.EmptyMap#readResolve() 403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_EmptyMap_readResolve() throws Exception { 405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SerializationTest.verifySelf(Collections.EMPTY_MAP, comparator); 406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.Collections.EmptySet#readResolve() 410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_EmptySet_readResolve() throws Exception { 412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SerializationTest.verifySelf(Collections.EMPTY_SET, comparator); 413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_checkedCollectionSerializationCompatability() throws Exception { 416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collection<String> c = Collections.emptySet(); 417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c = Collections.checkedCollection(c, String.class); 418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SerializationTester.assertCompabilityEquals(c, "serialization/java/util/Collections_CheckedCollection.golden.ser"); 419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_checkedListRandomAccessSerializationCompatability() throws Exception { 422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List<String> c = new ArrayList<String>(); 423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(c instanceof RandomAccess); 424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c = Collections.checkedList(c, String.class); 425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SerializationTester.assertCompabilityEquals(c, "serialization/java/util/Collections_CheckedListRandomAccess.golden.ser"); 426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_checkedListSerializationCompatability() throws Exception { 429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List<String> c = new LinkedList<String>(); 430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(c instanceof RandomAccess); 431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c = Collections.checkedList(c, String.class); 432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SerializationTester.assertCompabilityEquals(c, "serialization/java/util/Collections_CheckedList.golden.ser"); 433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_checkedSetSerializationCompatability() throws Exception { 436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Set<String> c = new HashSet<String>(); 437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(c instanceof SortedSet); 438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c = Collections.checkedSet(c, String.class); 439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SerializationTester.assertCompabilityEquals(c, "serialization/java/util/Collections_CheckedSet.golden.ser"); 440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_checkedMapSerializationCompatability() throws Exception { 443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Map<String, String> c = new HashMap<String, String>(); 444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(c instanceof SortedMap); 445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c = Collections.checkedMap(c, String.class, String.class); 446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SerializationTester.assertCompabilityEquals(c, "serialization/java/util/Collections_CheckedMap.golden.ser"); 447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_checkedSortedSetSerializationCompatability() throws Exception { 450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SortedSet<String> c = new TreeSet<String>(); 451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c = Collections.checkedSortedSet(c, String.class); 452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SerializationTester.assertCompabilityEquals(c, "serialization/java/util/Collections_CheckedSortedSet.golden.ser"); 453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_checkedSortedMapSerializationCompatability() throws Exception { 456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SortedMap<String, String> c = new TreeMap<String, String>(); 457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c = Collections.checkedSortedMap(c, String.class, String.class); 458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SerializationTester.assertCompabilityEquals(c, "serialization/java/util/Collections_CheckedSortedMap.golden.ser"); 459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_emptyList(){ 462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List<Object> emptyList = Collections.emptyList(); 463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, emptyList.size()); 464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(emptyList instanceof RandomAccess); 465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression test for http://issues.apache.org/jira/browse/HARMONY-6122 468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Collections_swap_IndexOutOfBoundsException() { 469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.swap(new ArrayList<Object>(), -1, 3); 471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IOOBE expected"); 472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List<Object> list = new ArrayList<Object>(); 476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes list.add("0"); 477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.swap(list, 0, -1); 479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IOOBE expected"); 480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.swap(list, 0, 3); 485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IOOBE expected"); 486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Collections.swap(new ArrayList<Object>(), 3, 3); 491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IOOBE expected"); 492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IndexOutOfBoundsException e) { 493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes} 497