1cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath/* 2cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * Licensed to the Apache Software Foundation (ASF) under one or more 3cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * contributor license agreements. See the NOTICE file distributed with 4cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * this work for additional information regarding copyright ownership. 5cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * The ASF licenses this file to You under the Apache License, Version 2.0 6cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * (the "License"); you may not use this file except in compliance with 7cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * the License. You may obtain a copy of the License at 860796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak * 9cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * http://www.apache.org/licenses/LICENSE-2.0 1060796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak * 11cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * Unless required by applicable law or agreed to in writing, software 12cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * License for the specific language governing permissions and limitations under 15cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * the License. 16cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 17cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 18ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamathpackage org.apache.harmony.tests.java.util; 19cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 209aab36ec35b4591cb9ba9ae0e4586cb642c39587Narayan Kamathimport junit.framework.TestCase; 219aab36ec35b4591cb9ba9ae0e4586cb642c39587Narayan Kamathimport org.apache.harmony.testframework.serialization.SerializationTest; 229aab36ec35b4591cb9ba9ae0e4586cb642c39587Narayan Kamathimport org.apache.harmony.testframework.serialization.SerializationTest.SerializableAssert; 239aab36ec35b4591cb9ba9ae0e4586cb642c39587Narayan Kamathimport tests.util.SerializationTester; 24cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.io.Serializable; 2560796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniakimport java.util.ArrayDeque; 26cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.ArrayList; 27cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Arrays; 28cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Collection; 29cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Collections; 30cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Comparator; 3160796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniakimport java.util.Deque; 32cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.HashMap; 33cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.HashSet; 34cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.LinkedList; 35cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.List; 36cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Map; 3760796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniakimport java.util.Queue; 38cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.RandomAccess; 39cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Set; 40cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.SortedMap; 41cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.SortedSet; 42cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.TreeMap; 43cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.TreeSet; 44cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Vector; 45cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 46cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathpublic class Collections2Test extends TestCase { 47cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 48cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath private static final SerializableAssert comparator = new SerializableAssert() { 49cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void assertDeserialized(Serializable reference, Serializable test) { 50cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertSame(reference, test); 51cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 52cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath }; 53cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 54cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 55cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#binarySearch(java.util.List, 56cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *java.lang.Object, java.util.Comparator) 57cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 58cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_binarySearchLjava_util_ListLjava_lang_ObjectLjava_util_Comparator() { 59cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Regression for HARMONY-94 60cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath LinkedList<Integer> lst = new LinkedList<Integer>(); 61cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lst.add(new Integer(30)); 62cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.sort(lst, null); 63cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int index = Collections.binarySearch(lst, new Integer(2), null); 64cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(-1, index); 65cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 66cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 67cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 68cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#binarySearch(java.util.List, 69cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath *java.lang.Object) 70cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 71cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath @SuppressWarnings("unchecked") 72cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_binarySearchLjava_util_ListLjava_lang_Object() { 73cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // regression for Harmony-1367 74cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath List localList = new LinkedList(); 75cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(-1, Collections.binarySearch(localList, new Object())); 76cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath localList.add(new Object()); 77cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 78cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.binarySearch(localList, new Integer(1)); 79cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("Should throw ClassCastException"); 80cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (ClassCastException e) { 81cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 82cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 83cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 84cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 85cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 86cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#rotate(java.util.List, int) 87cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 88cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_rotateLjava_util_ListI() { 89cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Regression for HARMONY-19 Rotate an *empty* list 90cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.rotate(new ArrayList<Object>(), 25); 91cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 92cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Regression for HARMONY-20 93cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath List<String> list = new ArrayList<String>(); 94cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath list.add(0, "zero"); 95cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath list.add(1, "one"); 96cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath list.add(2, "two"); 97cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath list.add(3, "three"); 98cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath list.add(4, "four"); 99cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.rotate(list, Integer.MIN_VALUE); 101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("Rotated incorrectly at position 0, ", "three", 102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath list.get(0)); 103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("Rotated incorrectly at position 1, ", "four", 104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath list.get(1)); 105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("Rotated incorrectly at position 2, ", "zero", 106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath list.get(2)); 107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("Rotated incorrectly at position 3, ", "one", 108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath list.get(3)); 109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("Rotated incorrectly at position 4, ", "two", 110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath list.get(4)); 111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#synchronizedCollection(java.util.Collection) 115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_synchronizedCollectionLjava_util_Collection() { 117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Regression for HARMONY-93 119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.synchronizedCollection(null); 120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("Assert 0: synchronizedCollection(null) must throw NPE"); 121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#synchronizedSortedMap(java.util.SortedMap) 128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_synchronizedSortedMapLjava_util_SortedMap() { 130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Regression for HARMONY-93 132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.synchronizedSortedMap(null); 133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("Assert 0: synchronizedSortedMap(null) must throw NPE"); 134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#synchronizedMap(java.util.Map) 141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_synchronizedMapLjava_util_Map() { 143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Regression for HARMONY-93 145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.synchronizedMap(null); 146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("Assert 0: synchronizedMap(map) must throw NPE"); 147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#synchronizedSet(java.util.Set) 154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_synchronizedSetLjava_util_Set() { 156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Regression for HARMONY-93 158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.synchronizedSet(null); 159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("Assert 0: synchronizedSet(set) must throw NPE"); 160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#synchronizedSortedSet(java.util.SortedSet) 167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_synchronizedSortedSetLjava_util_SortedSet() { 169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Regression for HARMONY-93 171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.synchronizedSortedSet(null); 172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("Assert 0: synchronizedSortedSet(null) must throw NPE"); 173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#unmodifiableCollection(java.util.Collection) 180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_unmodifiableCollectionLjava_util_Collection() { 182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Regression for HARMONY-93 184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.unmodifiableCollection(null); 185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("Assert 0: unmodifiableCollection(null) must throw NPE"); 186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#unmodifiableMap(java.util.Map) 193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_unmodifiableMapLjava_util_Map() { 195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Regression for HARMONY-93 197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.unmodifiableMap(null); 198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("Assert 0: unmodifiableMap(null) must throw NPE"); 199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#unmodifiableSet(java.util.Set) 206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_unmodifiableSetLjava_util_Set() { 208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Regression for HARMONY-93 210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.unmodifiableSet(null); 211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("Assert 0: unmodifiableSet(null) must throw NPE"); 212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#unmodifiableSortedMap(java.util.SortedMap) 219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_unmodifiableSortedMapLjava_util_SortedMap() { 221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Regression for HARMONY-93 223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.unmodifiableSortedMap(null); 224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("Assert 0: unmodifiableSortedMap(null) must throw NPE"); 225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#unmodifiableSortedSet(java.util.SortedSet) 232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_unmodifiableSortedSetLjava_util_SortedSet() { 234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Regression for HARMONY-93 236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.unmodifiableSortedSet(null); 237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("Assert 0: unmodifiableSortedSet(null) must throw NPE"); 238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#frequency(java.util.Collection, Object) 245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_frequencyLjava_util_CollectionLint() { 247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.frequency(null, null); 249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("Assert 0: frequency(null,<any>) must throw NPE"); 250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath List<String> strings = Arrays.asList(new String[] { "1", "2", "3", "1", "1" }); 254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("Assert 1: did not find three \"1\" strings", 3, 256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.frequency(strings, "1")); 257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("Assert 2: did not find one \"2\" strings", 1, Collections 259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .frequency(strings, "2")); 260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("Assert 3: did not find three \"3\" strings", 1, 262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.frequency(strings, "3")); 263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("Assert 4: matched on null when there are none", 0, 265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.frequency(strings, null)); 266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath List<Object> objects = Arrays.asList(new Object[] { new Integer(1), null, null, 268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath new Long(1) }); 269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("Assert 5: did not find one Integer(1)", 1, Collections 271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .frequency(objects, new Integer(1))); 272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("Assert 6: did not find one Long(1)", 1, Collections 274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .frequency(objects, new Long(1))); 275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("Assert 7: did not find two null references", 2, 277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.frequency(objects, null)); 278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#reverseOrder() 282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_reverseOrder() { 284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Comparator<String> roc = Collections.reverseOrder(); 285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull("Assert 0: comparator must not be null", roc); 286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("Assert 1: comparator must implement Serializable", 288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath roc instanceof Serializable); 289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String[] fixtureDesc = new String[] { "2", "1", "0" }; 291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String[] numbers = new String[] { "0", "1", "2" }; 292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Arrays.sort(numbers, roc); 293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("Assert 2: the arrays are not equal, the sort failed", 294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Arrays.equals(fixtureDesc, numbers)); 295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections#reverseOrder(java.util.Comparator) 299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_reverseOrderLjava_util_Comparator() { 301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Comparator<String> roc = Collections 302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .reverseOrder(String.CASE_INSENSITIVE_ORDER); 303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull("Assert 0: comparator must not be null", roc); 304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("Assert 1: comparator must implement Serializable", 306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath roc instanceof Serializable); 307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String[] fixtureDesc = new String[] { "2", "1", "0" }; 309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String[] numbers = new String[] { "0", "1", "2" }; 310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Arrays.sort(numbers, roc); 311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("Assert 2: the arrays are not equal, the sort failed", 312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Arrays.equals(fixtureDesc, numbers)); 313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath roc = Collections.reverseOrder(null); 315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull("Assert 3: comparator must not be null", roc); 316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("Assert 4: comparator must implement Serializable", 318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath roc instanceof Serializable); 319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath numbers = new String[] { "0", "1", "2" }; 321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Arrays.sort(numbers, roc); 322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("Assert 5: the arrays are not equal, the sort failed", 323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Arrays.equals(fixtureDesc, numbers)); 324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AddAll() { 327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath List<Object> l = new ArrayList<Object>(); 328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(Collections.addAll(l, new Object[] { })); 329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(l.isEmpty()); 330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(Collections.addAll(l, new Object[] { new Integer(1), 331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath new Integer(2), new Integer(3) })); 332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(l.isEmpty()); 333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(l.equals(Arrays.asList(new Object[] { new Integer(1), 334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath new Integer(2), new Integer(3) }))); 335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_Disjoint() { 338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object[] arr1 = new Object[10]; 339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < arr1.length; i++) { 340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath arr1[i] = new Integer(i); 341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object[] arr2 = new Object[20]; 343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < arr2.length; i++) { 344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath arr2[i] = new Integer(100 + i); 345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collection<Object> c1 = new ArrayList<Object>(); 347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collection<Object> c2 = new ArrayList<Object>(); 348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.addAll(c1, arr1); 349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.addAll(c2, arr2); 350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(Collections.disjoint(c1, c2)); 351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c1.add(arr2[10]); 352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(Collections.disjoint(c1, c2)); 353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c1 = new LinkedList<Object>(); 355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c2 = new LinkedList<Object>(); 356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.addAll(c1, arr1); 357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.addAll(c2, arr2); 358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(Collections.disjoint(c1, c2)); 359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c1.add(arr2[10]); 360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(Collections.disjoint(c1, c2)); 361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c1 = new TreeSet<Object>(); 363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c2 = new TreeSet<Object>(); 364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.addAll(c1, arr1); 365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.addAll(c2, arr2); 366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(Collections.disjoint(c1, c2)); 367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c1.add(arr2[10]); 368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(Collections.disjoint(c1, c2)); 369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c1 = new HashSet<Object>(); 371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c2 = new HashSet<Object>(); 372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.addAll(c1, arr1); 373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.addAll(c2, arr2); 374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(Collections.disjoint(c1, c2)); 375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c1.add(arr2[10]); 376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(Collections.disjoint(c1, c2)); 377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c1 = new LinkedList<Object>(); 379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c2 = new TreeSet<Object>(); 380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.addAll(c1, arr1); 381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.addAll(c2, arr2); 382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(Collections.disjoint(c1, c2)); 383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c1.add(arr2[10]); 384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(Collections.disjoint(c1, c2)); 385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c1 = new Vector<Object>(); 387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c2 = new HashSet<Object>(); 388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.addAll(c1, arr1); 389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.addAll(c2, arr2); 390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(Collections.disjoint(c1, c2)); 391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c1.add(arr2[10]); 392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(Collections.disjoint(c1, c2)); 393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections.EmptyList#readResolve() 398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_EmptyList_readResolve() throws Exception { 400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SerializationTest.verifySelf(Collections.EMPTY_LIST, comparator); 401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections.EmptyMap#readResolve() 405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_EmptyMap_readResolve() throws Exception { 407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SerializationTest.verifySelf(Collections.EMPTY_MAP, comparator); 408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.Collections.EmptySet#readResolve() 412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_EmptySet_readResolve() throws Exception { 414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SerializationTest.verifySelf(Collections.EMPTY_SET, comparator); 415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_checkedCollectionSerializationCompatability() throws Exception { 418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collection<String> c = Collections.emptySet(); 419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c = Collections.checkedCollection(c, String.class); 420ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamath SerializationTester.assertCompabilityEquals(c, "serialization/org/apache/harmony/tests/java/util/Collections_CheckedCollection.golden.ser"); 421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_checkedListRandomAccessSerializationCompatability() throws Exception { 424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath List<String> c = new ArrayList<String>(); 425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(c instanceof RandomAccess); 426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c = Collections.checkedList(c, String.class); 427ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamath SerializationTester.assertCompabilityEquals(c, "serialization/org/apache/harmony/tests/java/util/Collections_CheckedListRandomAccess.golden.ser"); 428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_checkedListSerializationCompatability() throws Exception { 431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath List<String> c = new LinkedList<String>(); 432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(c instanceof RandomAccess); 433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c = Collections.checkedList(c, String.class); 434ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamath SerializationTester.assertCompabilityEquals(c, "serialization/org/apache/harmony/tests/java/util/Collections_CheckedList.golden.ser"); 435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_checkedSetSerializationCompatability() throws Exception { 438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set<String> c = new HashSet<String>(); 439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(c instanceof SortedSet); 440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c = Collections.checkedSet(c, String.class); 441ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamath SerializationTester.assertCompabilityEquals(c, "serialization/org/apache/harmony/tests/java/util/Collections_CheckedSet.golden.ser"); 442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_checkedMapSerializationCompatability() throws Exception { 445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Map<String, String> c = new HashMap<String, String>(); 446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(c instanceof SortedMap); 447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c = Collections.checkedMap(c, String.class, String.class); 448ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamath SerializationTester.assertCompabilityEquals(c, "serialization/org/apache/harmony/tests/java/util/Collections_CheckedMap.golden.ser"); 449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_checkedSortedSetSerializationCompatability() throws Exception { 452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedSet<String> c = new TreeSet<String>(); 453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c = Collections.checkedSortedSet(c, String.class); 454ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamath SerializationTester.assertCompabilityEquals(c, "serialization/org/apache/harmony/tests/java/util/Collections_CheckedSortedSet.golden.ser"); 455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_checkedSortedMapSerializationCompatability() throws Exception { 458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap<String, String> c = new TreeMap<String, String>(); 459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath c = Collections.checkedSortedMap(c, String.class, String.class); 460ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamath SerializationTester.assertCompabilityEquals(c, "serialization/org/apache/harmony/tests/java/util/Collections_CheckedSortedMap.golden.ser"); 461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_emptyList() { 464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath List<Object> emptyList = Collections.emptyList(); 465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, emptyList.size()); 466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(emptyList instanceof RandomAccess); 467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Regression test for http://issues.apache.org/jira/browse/HARMONY-6122 470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_Collections_swap_IndexOutOfBoundsException() { 471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.swap(new ArrayList<Object>(), -1, 3); 473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("IOOBE expected"); 474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IndexOutOfBoundsException e) { 475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath List<Object> list = new ArrayList<Object>(); 478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath list.add("0"); 479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.swap(list, 0, -1); 481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("IOOBE expected"); 482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IndexOutOfBoundsException e) { 483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.swap(list, 0, 3); 487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("IOOBE expected"); 488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IndexOutOfBoundsException e) { 489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collections.swap(new ArrayList<Object>(), 3, 3); 493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("IOOBE expected"); 494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IndexOutOfBoundsException e) { 495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 49860796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak void testCollectionForEach(Collection<Integer> collection) { 49960796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak ArrayList<Integer> output = new ArrayList<Integer>(); 50060796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak collection.forEach(k -> output.add(k)); 50160796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 50260796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak assertEquals(new ArrayList<>(collection), output); 50360796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak } 50460796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 50560796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak public void test_Collection_forEach() { 50660796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak ArrayList<Integer> list = new ArrayList<Integer>(); 50760796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak list.add(0); 50860796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak list.add(1); 50960796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak list.add(2); 51060796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak testCollectionForEach(Collections.unmodifiableCollection(list)); 51160796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak testCollectionForEach(Collections.synchronizedCollection(list)); 51260796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak testCollectionForEach(Collections.checkedCollection(list, Integer.class)); 51360796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak testCollectionForEach(Collections.singletonList(new Integer(0))); 51460796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak } 51560796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 51660796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak void testMapForEach(Map<String,String> map) { 51760796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak HashMap<String, String> output = new HashMap<String, String>(); 51860796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak map.forEach((k, v) -> output.put(k, v)); 51960796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak assertEquals(map, output); 52060796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 52160796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak output.clear(); 52260796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak map.entrySet().forEach(entry -> output.put(entry.getKey(), entry.getValue())); 52360796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak assertEquals(map, output); 52460796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 52560796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak HashSet<String> setOutput = new HashSet<>(); 52660796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak map.values().forEach(value -> setOutput.add(value)); 52760796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak assertEquals(new HashSet<>(map.values()), setOutput); 52860796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 52960796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak setOutput.clear(); 53060796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak map.keySet().forEach((k) -> setOutput.add(k)); 53160796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak assertEquals(map.keySet(), setOutput); 53260796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak } 53360796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 53460796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak public void test_Map_forEach() { 53560796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak HashMap<String, String> map = new HashMap<String, String>(); 53660796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak map.put("one", "1"); 53760796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak map.put("two", "2"); 53860796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak map.put("three", "3"); 53960796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak testMapForEach(Collections.unmodifiableMap(map)); 54060796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak testMapForEach(Collections.synchronizedMap(map)); 54160796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak testMapForEach(Collections.checkedMap(map, String.class, String.class)); 54260796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak testMapForEach(Collections.singletonMap("one", "1")); 54360796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak } 54460796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 54560796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak void testSetForEach(Set<Integer> set) { 54660796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak HashSet<Integer> output = new HashSet<Integer>(); 54760796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak set.forEach(k -> output.add(k)); 54860796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 54960796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak assertEquals(set.size(), output.size()); 55060796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak for (Integer key : set) { 55160796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak assertTrue(output.contains(key)); 55260796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak } 55360796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak } 55460796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 55560796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak public void test_Set_forEach() { 55660796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak HashSet<Integer> set = new HashSet<Integer>(); 55760796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak set.add(1); 55860796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak set.add(2); 55960796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak set.add(3); 56060796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak testSetForEach(Collections.unmodifiableSet(set)); 56160796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak testSetForEach(Collections.synchronizedSet(set)); 56260796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak testSetForEach(Collections.checkedSet(set, Integer.class)); 56360796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak testSetForEach(Collections.singleton(1)); 56460796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 56560796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak Set<Integer> fromMap = Collections.newSetFromMap(new HashMap<Integer, Boolean>()); 56660796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak fromMap.add(1); 56760796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak fromMap.add(2); 56860796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak fromMap.add(3); 56960796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak testSetForEach(fromMap); 57060796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak } 57160796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 57260796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 57360796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak public void test_Queue_forEach() { 57460796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak Deque<Integer> deque = new ArrayDeque<Integer>(); 57560796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak deque.addFirst(2); 57660796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak deque.addFirst(1); 57760796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak deque.addFirst(0); 57860796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 57960796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak Queue<Integer> queue = Collections.asLifoQueue(deque); 58060796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak ArrayList<Integer> output = new ArrayList<Integer>(); 58160796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak queue.forEach(v -> output.add(v)); 58260796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 58360796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak assertEquals(3, output.size()); 58460796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak assertEquals(0, (int)output.get(0)); 58560796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak assertEquals(1, (int)output.get(1)); 58660796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak assertEquals(2, (int)output.get(2)); 58760796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak } 58860796efea3a74e02aea384b8eb56103ea21b880bPrzemyslaw Szczepaniak 589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath} 590