EnumMapTest.java revision f33eae7e84eb6d3b0f4e86b59605bb3de73009f3
1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* Licensed to the Apache Software Foundation (ASF) under one or more 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 7f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.api.java.util; 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargetNew; 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargets; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestLevel; 22f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughesimport dalvik.annotation.TestTargetClass; 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.AndroidOnly; 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.ArrayList; 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Collection; 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.EnumMap; 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.HashMap; 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Iterator; 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Map; 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.NoSuchElementException; 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Set; 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.apache.harmony.testframework.serialization.SerializationTest; 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase; 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 38f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes@TestTargetClass(EnumMap.class) 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class EnumMapTest extends TestCase { 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enum Size { 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Small, Middle, Big {}; 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enum Color { 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Red, Green, Blue {}; 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enum Empty { 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //Empty 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private static class MockEntry<K, V> implements Map.Entry<K, V> { 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private K key; 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private V value; 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public MockEntry(K key, V value) { 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project this.key = key; 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project this.value = value; 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @Override 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int hashCode() { 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return (key == null ? 0 : key.hashCode()) 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ^ (value == null ? 0 : value.hashCode()); 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public K getKey() { 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return key; 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public V getValue() { 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return value; 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public V setValue(V object) { 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project V oldValue = value; 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project value = object; 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return oldValue; 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#EnumMap(Class) 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "EnumMap", 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Class.class} 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings({ "unchecked", "boxing" }) 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_ConstructorLjava_lang_Class() { 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new EnumMap((Class) null); 96f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected NullPointerException"); 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 100f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 101f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new EnumMap(Size.Big.getClass()); 104f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected NullPointerException"); 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new EnumMap(Integer.class); 111f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected NullPointerException"); 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumColorMap = new EnumMap<Color, Double>(Color.class); 117f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Return non-null for non mapped key", enumColorMap.put( 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Color.Green, 2)); 119f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Get returned incorrect value for given key", 2, 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.get(Color.Green)); 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumEmptyMap = new EnumMap<Empty, Double>(Empty.class); 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumEmptyMap.put(Color.Red, 2); 125f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected ClassCastException"); 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException e) { 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumSizeMap = new EnumMap(Size.class); 131f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Return non-null for non mapped key", enumSizeMap.put( 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Size.Big, 2)); 133f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Get returned incorrect value for given key", 2, 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.get(Size.Big)); 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Color.Red, 2); 137f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected ClassCastException"); 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException e) { 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 141f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap = new EnumMap(Size.Middle.getClass()); 143f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Return non-null for non mapped key", enumSizeMap.put( 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Size.Small, 1)); 145f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Get returned incorrect value for given key", 1, 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.get(Size.Small)); 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Color.Red, 2); 149f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected ClassCastException"); 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException e) { 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 154f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#EnumMap(EnumMap) 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "EnumMap", 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.util.EnumMap.class} 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings({ "unchecked", "boxing" }) 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_ConstructorLjava_util_EnumMap() { 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumMap; 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumColorMap = null; 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap = new EnumMap(enumColorMap); 170f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected NullPointerException"); 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap = new EnumMap<Color, Double>(Color.class); 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Double double1 = new Double(1); 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Green, 2); 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Blue, double1); 179f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap = new EnumMap(enumColorMap); 181f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Constructor fails", 2, enumMap.get(Color.Green)); 182f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertSame("Constructor fails", double1, enumMap.get(Color.Blue)); 183f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Constructor fails", enumMap.get(Color.Red)); 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap.put(Color.Red, 1); 185f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value", 1, enumMap.get(Color.Red)); 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap.put(Size.Middle, 2); 189f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected ClassCastException"); 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException e) { 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#EnumMap(Map) 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "EnumMap", 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.util.Map.class} 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings({ "unchecked", "boxing" }) 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_ConstructorLjava_util_Map() { 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumMap; 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Map enumColorMap = null; 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap = new EnumMap(enumColorMap); 210f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected NullPointerException"); 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap = new EnumMap<Color, Double>(Color.class); 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap = new EnumMap(enumColorMap); 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Blue, 3); 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap = new EnumMap(enumColorMap); 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project HashMap hashColorMap = null; 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap = new EnumMap(hashColorMap); 222fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes fail("Expected NullPointerException"); 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hashColorMap = new HashMap(); 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap = new EnumMap(hashColorMap); 230f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected IllegalArgumentException"); 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hashColorMap.put(Color.Green, 2); 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap = new EnumMap(hashColorMap); 237f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Constructor fails", 2, enumMap.get(Color.Green)); 238f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Constructor fails", enumMap.get(Color.Red)); 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap.put(Color.Red, 1); 240f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value", 1, enumMap.get(Color.Red)); 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hashColorMap.put(Size.Big, 3); 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap = new EnumMap(hashColorMap); 244f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected ClassCastException"); 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException e) { 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hashColorMap = new HashMap(); 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hashColorMap.put(new Integer(1), 1); 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap = new EnumMap(hashColorMap); 253f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected ClassCastException"); 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException e) { 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#clear() 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "clear", 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {} 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings({ "unchecked", "boxing" }) 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_clear() { 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumSizeMap = new EnumMap(Size.class); 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Small, 1); 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.clear(); 273f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Failed to clear all elements", enumSizeMap.get(Size.Small)); 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#containsKey(Object) 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "containsKey", 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class} 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings( { "unchecked", "boxing" }) 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_containsKeyLjava_lang_Object() { 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumSizeMap = new EnumMap(Size.class); 288f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained key", enumSizeMap 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsKey(Size.Small)); 290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Small, 1); 291f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained key", enumSizeMap 292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsKey(Size.Small)); 293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 295f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained key", enumSizeMap 296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsKey(Size.Big)); 297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 298f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained key", enumSizeMap 299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsKey(Color.Red)); 300f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained key", enumSizeMap 301f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes .containsKey(new Integer("3"))); 302f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained key", enumSizeMap 303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsKey(null)); 304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 307adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#clone() 308adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "clone", 313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {} 314adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings( { "unchecked", "boxing" }) 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_clone() { 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumSizeMap = new EnumMap(Size.class); 318f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes Integer integer = new Integer("3"); 319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Small, integer); 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumSizeMapClone = enumSizeMap.clone(); 321f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNotSame("Should not be same", enumSizeMap, enumSizeMapClone); 322f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Clone answered unequal EnumMap", enumSizeMap, 323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMapClone); 324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 325f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertSame("Should be same", enumSizeMap.get(Size.Small), 326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMapClone.get(Size.Small)); 327f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertSame("Clone is not shallow clone", integer, enumSizeMapClone 328adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(Size.Small)); 329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.remove(Size.Small); 330f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertSame("Clone is not shallow clone", integer, enumSizeMapClone 331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(Size.Small)); 332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#containsValue(Object) 336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "containsValue", 341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class} 342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings( { "unchecked", "boxing" }) 344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_containsValueLjava_lang_Object() { 345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumSizeMap = new EnumMap(Size.class); 346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Double double1 = new Double(3); 347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Double double2 = new Double(3); 348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 349f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained value", enumSizeMap 350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsValue(double1)); 351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 2); 352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Small, double1); 353f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained value", enumSizeMap 354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsValue(double1)); 355f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained value", enumSizeMap 356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsValue(double2)); 357f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained value", enumSizeMap 358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsValue(2)); 359f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained value", enumSizeMap 360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsValue(1)); 361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 362f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained value", enumSizeMap 363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsValue(null)); 364adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 365f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained value", enumSizeMap 366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsValue(null)); 367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 368adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#entrySet() 371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 373adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "entrySet", 376adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {} 377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @AndroidOnly("Map.Entry is indirectly modified on RI when Iterator.next() is invoked") 379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings({ "unchecked", "boxing" }) 380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_entrySet() { 381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumSizeMap = new EnumMap(Size.class); 382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 1); 383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MockEntry mockEntry = new MockEntry(Size.Middle, 1); 385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Set set = enumSizeMap.entrySet(); 386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Set set1 = enumSizeMap.entrySet(); 388f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertSame("Should be same", set1, set); 389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set.add(mockEntry); 391f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw UnsupportedOperationException"); 392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (UnsupportedOperationException e) { 393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 396fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes assertTrue("Returned false for contained object", set 397adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(mockEntry)); 398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project mockEntry = new MockEntry(Size.Middle, null); 399f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 400adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(mockEntry)); 401f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 402adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(Size.Small)); 403adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project mockEntry = new MockEntry(new Integer(1), 1); 404f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 405adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(mockEntry)); 406f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 407adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(new Integer(1))); 408adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 409adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project mockEntry = new MockEntry(Size.Big, null); 410fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes assertTrue("Returned false for contained object", set 411adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(mockEntry)); 412f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false when the object can be removed", set 413adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(mockEntry)); 414f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 415adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(mockEntry)); 416f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true when the object can not be removed", set 417adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(mockEntry)); 418adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project mockEntry = new MockEntry(new Integer(1), 1); 419f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true when the object can not be removed", set 420adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(mockEntry)); 421f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true when the object can not be removed", set 422adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(new Integer(1))); 423adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 424adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // The set is backed by the map so changes to one are reflected by the 425adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // other. 426adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, 3); 427adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project mockEntry = new MockEntry(Size.Big, 3); 428fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes assertTrue("Returned false for contained object", set 429adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(mockEntry)); 430adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.remove(Size.Big); 431f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 432adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(mockEntry)); 433adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 434f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, set.size()); 435adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set.clear(); 436f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 0, set.size()); 437adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 438adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap = new EnumMap(Size.class); 439adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 1); 440adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 441adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set = enumSizeMap.entrySet(); 442adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Collection c = new ArrayList(); 443adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(new MockEntry(Size.Middle, 1)); 444f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Return wrong value", set.containsAll(c)); 445f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Remove does not success", set.removeAll(c)); 446adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 447adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 1); 448adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(new MockEntry(Size.Big, 3)); 449f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Remove does not success", set.removeAll(c)); 450f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Should return false", set.removeAll(c)); 451f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, set.size()); 452adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 453adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap = new EnumMap(Size.class); 454adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 1); 455adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 456adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set = enumSizeMap.entrySet(); 457adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c = new ArrayList(); 458adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(new MockEntry(Size.Middle, 1)); 459adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(new MockEntry(Size.Big, 3)); 460adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 461f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Retain does not success", set.retainAll(c)); 462f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, set.size()); 463f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Should return false", set.retainAll(c)); 464adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 465adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap = new EnumMap(Size.class); 466adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 1); 467adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 468adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 469adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set = enumSizeMap.entrySet(); 470adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object[] array = set.toArray(); 471f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong length", 2, array.length); 472adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Map.Entry entry = (Map.Entry) array[0]; 473f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong key", Size.Middle, entry.getKey()); 474f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value", 1, entry.getValue()); 475adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 476adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object[] array1 = new Object[10]; 477adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project array1 = set.toArray(); 478f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong length", 2, array1.length); 479adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project entry = (Map.Entry) array[0]; 480f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong key", Size.Middle, entry.getKey()); 481f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value", 1, entry.getValue()); 482adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 483adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project array1 = new Object[10]; 484adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project array1 = set.toArray(array1); 485f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong length", 10, array1.length); 486adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project entry = (Map.Entry) array[1]; 487f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong key", Size.Big, entry.getKey()); 488f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Should be null", array1[2]); 489adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 490adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set = enumSizeMap.entrySet(); 491f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes Integer integer = new Integer("1"); 492f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true when the object can not be removed", set 493adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(integer)); 494f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false when the object can be removed", set 495adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(entry)); 496adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 497adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap = new EnumMap(Size.class); 498adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 1); 499adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 500adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set = enumSizeMap.entrySet(); 501adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Iterator iter = set.iterator(); 502adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project entry = (Map.Entry) iter.next(); 503f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", set.contains(entry)); 504adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project mockEntry = new MockEntry(Size.Middle, 2); 505f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 506adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(mockEntry)); 507adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project mockEntry = new MockEntry(new Integer(2), 2); 508f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 509adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(mockEntry)); 510adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project entry = (Map.Entry) iter.next(); 511f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", set.contains(entry)); 512adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 513adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 1); 514adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.remove(Size.Big); 515adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project mockEntry = new MockEntry(Size.Big, null); 516f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, set.size()); 517f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set.contains(mockEntry)); 518adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, 2); 519adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project mockEntry = new MockEntry(Size.Big, 2); 520f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", set 521adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(mockEntry)); 522adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 523adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 524adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 525adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 526f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw IllegalStateException"); 527adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 528adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 529adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 530adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 531adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project entry.setValue(2); 532f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw IllegalStateException"); 533adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 534adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 535adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 536adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 537adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set.contains(entry); 538f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw IllegalStateException"); 539adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 540adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 541adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 542adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 543adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap = new EnumMap(Size.class); 544adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 1); 545adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 546adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set = enumSizeMap.entrySet(); 547adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter = set.iterator(); 548adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project entry = (Map.Entry) iter.next(); 549f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong key", Size.Middle, entry.getKey()); 550adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 551f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", set.contains(entry)); 552adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 3); 553f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", set.contains(entry)); 554adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project entry.setValue(2); 555f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", set.contains(entry)); 556f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 557adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(new Integer(1))); 558adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 559adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.next(); 560f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong key", Size.Middle, entry.getKey()); 561adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set.clear(); 562f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 0, set.size()); 563adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 564adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap = new EnumMap(Size.class); 565adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 1); 566adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 567adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set = enumSizeMap.entrySet(); 568adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter = set.iterator(); 569adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project mockEntry = new MockEntry(Size.Middle, 1); 570adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 571f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Wrong result", entry.equals(mockEntry)); 572adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 573adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 574f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw IllegalStateException"); 575adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 576adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 577adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 578adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project entry = (Map.Entry) iter.next(); 579f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong key", Size.Middle, entry.getKey()); 580f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Should return true", entry.equals(mockEntry)); 581f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Should be equal", mockEntry.hashCode(), entry.hashCode()); 582adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project mockEntry = new MockEntry(Size.Big, 1); 583f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Wrong result", entry.equals(mockEntry)); 584adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 585adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project entry = (Map.Entry) iter.next(); 586f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Wrong result", entry.equals(mockEntry)); 587f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong key", Size.Big, entry.getKey()); 588adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 589f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Wrong result", entry.equals(mockEntry)); 590f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, set.size()); 591adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 592adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 593f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw IllegalStateException"); 594adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 595adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 596adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 597adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 598adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.next(); 599f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw NoSuchElementException"); 600adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NoSuchElementException e) { 601adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 602adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 603adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 604adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 605adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 606adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#equals(Object) 607adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 608adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 609adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 610adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 611adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "equals", 612adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class} 613adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 614adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings( { "unchecked", "boxing" }) 615adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_equalsLjava_lang_Object() { 616adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumMap = new EnumMap(Size.class); 617adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap.put(Size.Small, 1); 618adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 619adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumSizeMap = new EnumMap(Size.class); 620f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for unequal EnumMap", enumSizeMap 621adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .equals(enumMap)); 622adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Small, 1); 623f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for equal EnumMap", enumSizeMap 624adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .equals(enumMap)); 625adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 626f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for unequal EnumMap", enumSizeMap 627adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .equals(enumMap)); 628adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 629adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap.put(Size.Middle, null); 630f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for unequal EnumMap", enumSizeMap 631adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .equals(enumMap)); 632adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap.remove(Size.Middle); 633adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap.put(Size.Big, 3); 634f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for unequal EnumMap", enumSizeMap 635adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .equals(enumMap)); 636adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumMap.put(Size.Big, null); 637f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for equal EnumMap", enumSizeMap 638adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .equals(enumMap)); 639adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 640adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project HashMap hashMap = new HashMap(); 641adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hashMap.put(Size.Small, 1); 642f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for unequal EnumMap", hashMap 643adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .equals(enumMap)); 644adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hashMap.put(Size.Big, null); 645f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for equal EnumMap", enumMap.equals(hashMap)); 646adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 647f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Should return false", enumSizeMap 648adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .equals(new Integer(1))); 649adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 650adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 651adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 652adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#keySet() 653adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 654adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 655adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 656adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 657adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "keySet", 658adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {} 659adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 660adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings( { "unchecked", "boxing" }) 661adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_keySet() { 662adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumSizeMap = new EnumMap(Size.class); 663adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 2); 664adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 665adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Set set = enumSizeMap.keySet(); 666adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 667adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Set set1 = enumSizeMap.keySet(); 668f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertSame("Should be same", set1, set); 669adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 670adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set.add(Size.Big); 671f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw UnsupportedOperationException"); 672adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (UnsupportedOperationException e) { 673adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 674adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 675adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 676fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes assertTrue("Returned false for contained object", set 677adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(Size.Middle)); 678fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes assertTrue("Returned false for contained object", set 679adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(Size.Big)); 680f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 681adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(Size.Small)); 682f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 683adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(new Integer(1))); 684f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false when the object can be removed", set 685adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(Size.Big)); 686f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 687adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(Size.Big)); 688f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true when the object can not be removed", set 689adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(Size.Big)); 690f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true when the object can not be removed", set 691adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(new Integer(1))); 692adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 693adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // The set is backed by the map so changes to one are reflected by the 694adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // other. 695adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, 3); 696fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes assertTrue("Returned false for contained object", set 697adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(Size.Big)); 698adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.remove(Size.Big); 699f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 700adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(Size.Big)); 701adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 702f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, set.size()); 703adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set.clear(); 704f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 0, set.size()); 705adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 706adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap = new EnumMap(Size.class); 707adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 1); 708adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 709adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set = enumSizeMap.keySet(); 710adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Collection c = new ArrayList(); 711adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(Size.Big); 712f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Should return true", set.containsAll(c)); 713adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(Size.Small); 714f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Should return false", set.containsAll(c)); 715f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Should return true", set.removeAll(c)); 716f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, set.size()); 717f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Should return false", set.removeAll(c)); 718f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, set.size()); 719adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 720adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set.addAll(c); 721f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw UnsupportedOperationException"); 722adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (UnsupportedOperationException e) { 723adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 724adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 725adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 726adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 727f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 2, set.size()); 728f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Should return true", set.retainAll(c)); 729f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, set.size()); 730f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Should return false", set.retainAll(c)); 731adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(1, set.size()); 732adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object[] array = set.toArray(); 733f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong length", 1, array.length); 734f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong key", Size.Big, array[0]); 735adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 736adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap = new EnumMap(Size.class); 737adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 1); 738adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 739adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set = enumSizeMap.keySet(); 740adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c = new ArrayList(); 741adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(Color.Blue); 742f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Should return false", set.remove(c)); 743f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 2, set.size()); 744f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Should return true", set.retainAll(c)); 745f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 0, set.size()); 746adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 747adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap = new EnumMap(Size.class); 748adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 1); 749adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 750adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set = enumSizeMap.keySet(); 751adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 752adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Iterator iter = set.iterator(); 753adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Enum enumKey = (Enum) iter.next(); 754f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", set.contains(enumKey)); 755adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumKey = (Enum) iter.next(); 756f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", set.contains(enumKey)); 757adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 758adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.remove(Size.Big); 759f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 760adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(enumKey)); 761adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 762adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 763adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 764f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw IllegalStateException"); 765adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 766adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 767adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 768f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 769adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(enumKey)); 770adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 771adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter = set.iterator(); 772adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumKey = (Enum) iter.next(); 773f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", set.contains(enumKey)); 774adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 3); 775f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", set.contains(enumKey)); 776adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 777adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap = new EnumMap(Size.class); 778adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 1); 779adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, null); 780adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project set = enumSizeMap.keySet(); 781adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter = set.iterator(); 782adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 783adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 784f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw IllegalStateException"); 785adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 786adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 787adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 788adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumKey = (Enum) iter.next(); 789f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong key", Size.Middle, enumKey); 790f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertSame("Wrong key", Size.Middle, enumKey); 791f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for unequal object", iter.equals(enumKey)); 792adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 793f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", set 794adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(enumKey)); 795adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 796adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 797f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw IllegalStateException"); 798adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 799adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 800adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 801adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 802f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, set.size()); 803adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumKey = (Enum) iter.next(); 804f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong key", Size.Big, enumKey); 805adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 806adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 807adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.next(); 808f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw NoSuchElementException"); 809adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NoSuchElementException e) { 810adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 811adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 812adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 813adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 814adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 815adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#get(Object) 816adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 817adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 818adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 819adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 820adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "get", 821adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class} 822adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 823adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings({ "unchecked", "boxing" }) 824adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getLjava_lang_Object() { 825adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumSizeMap = new EnumMap(Size.class); 826f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Get returned non-null for non mapped key", enumSizeMap 827adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(Size.Big)); 828adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, 1); 829f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Get returned incorrect value for given key", 1, 830adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.get(Size.Big)); 831f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 832f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Get returned non-null for non mapped key", enumSizeMap 833adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(Size.Small)); 834f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Get returned non-null for non existent key", enumSizeMap 835adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(Color.Red)); 836f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Get returned non-null for non existent key", enumSizeMap 837adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(new Integer(1))); 838f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Get returned non-null for non existent key", enumSizeMap 839adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(null)); 840adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 841adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumColorMap = new EnumMap<Color, Double>(Color.class); 842f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Get returned non-null for non mapped key", enumColorMap 843adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(Color.Green)); 844adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Green, 2); 845f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Get returned incorrect value for given key", 2, 846adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.get(Color.Green)); 847f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Get returned non-null for non mapped key", enumColorMap 848adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(Color.Blue)); 849f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 850adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Green, new Double(4)); 851f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Get returned incorrect value for given key", 852adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new Double(4), enumColorMap.get(Color.Green)); 853fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes enumColorMap.put(Color.Green, new Integer("3")); 854f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Get returned incorrect value for given key", new Integer( 855fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes "3"), enumColorMap.get(Color.Green)); 856adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Green, null); 857f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Can not handle null value", enumColorMap.get(Color.Green)); 858fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes Float f = new Float("3.4"); 859adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Green, f); 860f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertSame("Get returned incorrect value for given key", f, 861adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.get(Color.Green)); 862adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 863f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 864adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 865adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#put(Object,Object) 866adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 867adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 868adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 869adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 870adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "put", 871adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {Enum.class, java.lang.Object.class} 872adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 873adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_putLjava_lang_ObjectLjava_lang_Object() { 874adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumSizeMap = new EnumMap(Size.class); 875adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 876adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Color.Red, 2); 877f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected ClassCastException"); 878adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException e) { 879adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 880adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 881f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Return non-null for non mapped key", enumSizeMap.put( 882adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Size.Small, 1)); 883adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 884adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumColorMap = new EnumMap<Color, Double>(Color.class); 885adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 886adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Size.Big, 2); 887f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected ClassCastException"); 888adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException e) { 889adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 890adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 891adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 892adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(null, 2); 893f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected NullPointerException"); 894adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 895adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 896adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 897f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Return non-null for non mapped key", enumColorMap.put( 898adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Color.Green, 2)); 899f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Return wrong value", 2, enumColorMap.put(Color.Green, 900adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new Double(4))); 901f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Return wrong value", new Double(4), enumColorMap.put( 902fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes Color.Green, new Integer("3"))); 903f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Return wrong value", new Integer("3"), enumColorMap.put( 904adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Color.Green, null)); 905fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes Float f = new Float("3.4"); 906f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Return non-null for non mapped key", enumColorMap.put( 907adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Color.Green, f)); 908f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Return non-null for non mapped key", enumColorMap.put( 909adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Color.Blue, 2)); 910f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Return wrong value", 2, enumColorMap.put(Color.Blue, 911adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new Double(4))); 912adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 913adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 914adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 915adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#putAll(Map) 916adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 917adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 918adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 919adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 920adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "putAll", 921adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.util.Map.class} 922adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 923adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings({ "unchecked", "boxing" }) 924adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_putAllLjava_util_Map() { 925adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumColorMap = new EnumMap<Color, Double>(Color.class); 926adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Green, 2); 927adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 928adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumSizeMap = new EnumMap(Size.class); 929adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.putAll(enumSizeMap); 930adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 931adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, 1); 932adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 933adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.putAll(enumSizeMap); 934f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected ClassCastException"); 935adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException e) { 936adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 937adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 938adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 939adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumColorMap1 = new EnumMap<Color, Double>(Color.class); 940adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap1.put(Color.Blue, 3); 941adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.putAll(enumColorMap1); 942f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Get returned incorrect value for given key", 3, 943adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.get(Color.Blue)); 944f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong Size", 2, enumColorMap.size()); 945adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 946adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap = new EnumMap<Color, Double>(Color.class); 947adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 948adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project HashMap hashColorMap = null; 949adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 950adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.putAll(hashColorMap); 951f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected NullPointerException"); 952adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 953adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 954adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 955adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 956adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hashColorMap = new HashMap(); 957adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.putAll(hashColorMap); 958adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 959adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hashColorMap.put(Color.Green, 2); 960adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.putAll(hashColorMap); 961f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Get returned incorrect value for given key", 2, 962adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.get(Color.Green)); 963f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Get returned non-null for non mapped key", enumColorMap 964adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(Color.Red)); 965adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hashColorMap.put(Color.Red, new Integer(1)); 966adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.putAll(hashColorMap); 967fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes assertEquals("Get returned incorrect value for given key", new Integer( 968adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 2), enumColorMap.get(Color.Green)); 969adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hashColorMap.put(Size.Big, 3); 970adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 971adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.putAll(hashColorMap); 972f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected ClassCastException"); 973adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException e) { 974adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 975adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 976adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 977adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hashColorMap = new HashMap(); 978adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hashColorMap.put(new Integer(1), 1); 979adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 980adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.putAll(hashColorMap); 981f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected ClassCastException"); 982adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException e) { 983adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 984adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 985adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 986adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 987adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 988adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#remove(Object) 989adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 990adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 991adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 992adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 993adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "remove", 994adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.Object.class} 995adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 996adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings({ "unchecked", "boxing" }) 997adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_removeLjava_lang_Object() { 998adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumSizeMap = new EnumMap(Size.class); 999f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Remove of non-mapped key returned non-null", enumSizeMap 1000adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(Size.Big)); 1001adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Big, 3); 1002adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, 2); 1003adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1004f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Get returned non-null for non mapped key", enumSizeMap 1005adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(Size.Small)); 1006f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Remove returned incorrect value", 3, enumSizeMap 1007adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(Size.Big)); 1008f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Get returned non-null for non mapped key", enumSizeMap 1009adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(Size.Big)); 1010f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Remove of non-mapped key returned non-null", enumSizeMap 1011adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(Size.Big)); 1012f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Remove of non-existent key returned non-null", enumSizeMap 1013adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(Color.Red)); 1014f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Remove of non-existent key returned non-null", enumSizeMap 1015adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(new Double(4))); 1016f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Remove of non-existent key returned non-null", enumSizeMap 1017adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(null)); 1018adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1019adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumColorMap = new EnumMap<Color, Double>(Color.class); 1020f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Get returned non-null for non mapped key", enumColorMap 1021adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(Color.Green)); 1022adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Green, new Double(4)); 1023f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Remove returned incorrect value", new Double(4), 1024adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.remove(Color.Green)); 1025f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Get returned non-null for non mapped key", enumColorMap 1026adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(Color.Green)); 1027adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Green, null); 1028f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Can not handle null value", enumColorMap 1029adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(Color.Green)); 1030f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertNull("Get returned non-null for non mapped key", enumColorMap 1031adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .get(Color.Green)); 1032adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1033adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1034adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 1035adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#size() 1036adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 1037adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 1038adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 1039adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 1040adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "size", 1041adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {} 1042adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 1043adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings({ "unchecked", "boxing" }) 1044adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_size() { 1045adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumSizeMap = new EnumMap(Size.class); 1046f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 0, enumSizeMap.size()); 1047adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Small, 1); 1048f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, enumSizeMap.size()); 1049adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Small, 0); 1050f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, enumSizeMap.size()); 1051adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1052adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Color.Red, 2); 1053f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Expected ClassCastException"); 1054adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException e) { 1055adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 1056adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1057f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, enumSizeMap.size()); 1058f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 1059adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.put(Size.Middle, null); 1060f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 2, enumSizeMap.size()); 1061adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.remove(Size.Big); 1062f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 2, enumSizeMap.size()); 1063adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.remove(Size.Middle); 1064f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, enumSizeMap.size()); 1065adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumSizeMap.remove(Color.Green); 1066f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, enumSizeMap.size()); 1067adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1068adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumColorMap = new EnumMap<Color, Double>(Color.class); 1069adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Green, 2); 1070f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, enumColorMap.size()); 1071adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.remove(Color.Green); 1072f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 0, enumColorMap.size()); 1073adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1074adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumEmptyMap = new EnumMap<Empty, Double>(Empty.class); 1075f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 0, enumEmptyMap.size()); 1076adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1077adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1078adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 1079adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests java.util.EnumMap#values() 1080adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 1081adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 1082adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 1083adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 1084adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "values", 1085adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {} 1086adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 1087adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings( { "unchecked", "boxing" }) 1088adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_values() { 1089adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumColorMap = new EnumMap<Color, Double>(Color.class); 1090adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Red, 1); 1091adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Blue, null); 1092adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Collection collection = enumColorMap.values(); 1093adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1094adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Collection collection1 = enumColorMap.values(); 1095f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertSame("Should be same", collection1, collection); 1096adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1097adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project collection.add(new Integer(1)); 1098f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw UnsupportedOperationException"); 1099adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (UnsupportedOperationException e) { 1100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 1101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1103fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes assertTrue("Returned false for contained object", collection 1104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(1)); 1105fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes assertTrue("Returned false for contained object", collection 1106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(null)); 1107f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", collection 1108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(2)); 1109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1110f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false when the object can be removed", collection 1111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(null)); 1112f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", collection 1113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(null)); 1114f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true when the object can not be removed", 1115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project collection.remove(null)); 1116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // The set is backed by the map so changes to one are reflected by the 1118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // other. 1119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Blue, 3); 1120fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes assertTrue("Returned false for contained object", collection 1121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(3)); 1122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.remove(Color.Blue); 1123fd6bb3510c2f94d636f3572dcf5f7f4dcd1a2726Elliott Hughes assertFalse("Returned true for uncontained object", collection 1124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(3)); 1125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1126f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, collection.size()); 1127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project collection.clear(); 1128f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 0, collection.size()); 1129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap = new EnumMap<Color, Double>(Color.class); 1131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Red, 1); 1132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Blue, null); 1133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project collection = enumColorMap.values(); 1134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Collection c = new ArrayList(); 1135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(new Integer(1)); 1136f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Should return true", collection.containsAll(c)); 1137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(new Double(3.4)); 1138f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Should return false", collection.containsAll(c)); 1139f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Should return true", collection.removeAll(c)); 1140f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, collection.size()); 1141f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Should return false", collection.removeAll(c)); 1142f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, collection.size()); 1143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project collection.addAll(c); 1145f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw UnsupportedOperationException"); 1146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (UnsupportedOperationException e) { 1147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 1148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Red, 1); 1151f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 2, collection.size()); 1152f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Should return true", collection.retainAll(c)); 1153f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, collection.size()); 1154f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Should return false", collection.retainAll(c)); 1155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(1, collection.size()); 1156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object[] array = collection.toArray(); 1157f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong length", 1, array.length); 1158f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong key", 1, array[0]); 1159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap = new EnumMap<Color, Double>(Color.class); 1161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Red, 1); 1162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Blue, null); 1163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project collection = enumColorMap.values(); 1164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1165f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 2, collection.size()); 1166f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true when the object can not be removed", 1167f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes collection.remove(new Integer("10"))); 1168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Iterator iter = enumColorMap.values().iterator(); 1170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object value = iter.next(); 1171f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", collection 1172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(value)); 1173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project value = iter.next(); 1174f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", collection 1175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(value)); 1176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Green, 1); 1178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.remove(Color.Blue); 1179f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", collection 1180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(value)); 1181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 1182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 1184f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw IllegalStateException"); 1185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 1186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 1187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1188f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for uncontained object", collection 1189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(value)); 1190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter = enumColorMap.values().iterator(); 1192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project value = iter.next(); 1193f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", collection 1194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(value)); 1195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Green, 3); 1196f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", collection 1197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(value)); 1198f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Returned false for contained object", collection 1199f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes .remove(new Integer("1"))); 1200f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, collection.size()); 1201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project collection.clear(); 1202f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 0, collection.size()); 1203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap = new EnumMap<Color, Double>(Color.class); 1205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Integer integer1 = new Integer(1); 1206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Green, integer1); 1207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Blue, null); 1208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project collection = enumColorMap.values(); 1209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter = enumColorMap.values().iterator(); 1210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 1212f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw IllegalStateException"); 1213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 1214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 1215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project value = iter.next(); 1217f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value", integer1, value); 1218f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertSame("Wrong value", integer1, value); 1219f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for unequal object", iter.equals(value)); 1220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 1221f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for unequal object", iter.equals(value)); 1222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 1224f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw IllegalStateException"); 1225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 1226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 1227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1228f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong size", 1, collection.size()); 1229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project value = iter.next(); 1230f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertFalse("Returned true for unequal object", iter.equals(value)); 1231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.remove(); 1232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 1233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.next(); 1234f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("Should throw NoSuchElementException"); 1235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NoSuchElementException e) { 1236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 1237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 1241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests serialization/deserialization. 1242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 1243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 1244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 1245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "Verifies serialization/deserialization compatibility.", 1246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "!SerializationSelf", 1247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {} 1248f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes ) 1249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings({ "unchecked", "boxing" }) 1250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testSerializationSelf() throws Exception { 1251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumColorMap = new EnumMap<Color, Double>(Color.class); 1252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Blue, 3); 1253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SerializationTest.verifySelf(enumColorMap); 1254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 1257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests serialization/deserialization compatibility with RI. 1258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 1259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 1260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 1261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "Verifies serialization/deserialization compatibility.", 1262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "!SerializationGolden", 1263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {} 1264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 1265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings({ "unchecked", "boxing" }) 1266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testSerializationCompatibility() throws Exception { 1267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EnumMap enumColorMap = new EnumMap<Color, Double>(Color.class); 1268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Red, 1); 1269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project enumColorMap.put(Color.Blue, 3); 1270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SerializationTest.verifyGolden(this, enumColorMap); 1271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 1274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Sets up the fixture. 1275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 1276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @Override 1277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void setUp() throws Exception { 1278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super.setUp(); 1279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 1282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Tears down the fixture. 1283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 1284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @Override 1285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void tearDown() throws Exception{ 1286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super.tearDown(); 1287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 1289