summaryrefslogtreecommitdiffstats
path: root/luni/src/test/java/tests/api/java/util/AbstractMapTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'luni/src/test/java/tests/api/java/util/AbstractMapTest.java')
-rw-r--r--luni/src/test/java/tests/api/java/util/AbstractMapTest.java327
1 files changed, 0 insertions, 327 deletions
diff --git a/luni/src/test/java/tests/api/java/util/AbstractMapTest.java b/luni/src/test/java/tests/api/java/util/AbstractMapTest.java
deleted file mode 100644
index c8f9ce2..0000000
--- a/luni/src/test/java/tests/api/java/util/AbstractMapTest.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package tests.api.java.util;
-
-import java.util.AbstractMap;
-import java.util.AbstractSet;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.IdentityHashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.Vector;
-import java.util.WeakHashMap;
-
-public class AbstractMapTest extends junit.framework.TestCase {
-
- static final String specialKey = "specialKey".intern();
-
- static final String specialValue = "specialValue".intern();
-
- // The impl of MyMap is not realistic, but serves to create a type
- // that uses the default remove behavior.
- class MyMap extends AbstractMap {
- final Set mySet = new HashSet(1);
-
- MyMap() {
- mySet.add(new Map.Entry() {
- public Object getKey() {
- return specialKey;
- }
-
- public Object getValue() {
- return specialValue;
- }
-
- public Object setValue(Object object) {
- return null;
- }
- });
- }
-
- public Object put(Object key, Object value) {
- return null;
- }
-
- public Set entrySet() {
- return mySet;
- }
- }
-
- /**
- * java.util.AbstractMap#keySet()
- */
- public void test_keySet() {
- AbstractMap map1 = new HashMap(0);
- assertSame("HashMap(0)", map1.keySet(), map1.keySet());
-
- AbstractMap map2 = new HashMap(10);
- assertSame("HashMap(10)", map2.keySet(), map2.keySet());
-
- Map map3 = Collections.EMPTY_MAP;
- assertSame("EMPTY_MAP", map3.keySet(), map3.keySet());
-
- AbstractMap map4 = new IdentityHashMap(1);
- assertSame("IdentityHashMap", map4.keySet(), map4.keySet());
-
- AbstractMap map5 = new LinkedHashMap(122);
- assertSame("LinkedHashMap", map5.keySet(), map5.keySet());
-
- AbstractMap map6 = new TreeMap();
- assertSame("TreeMap", map6.keySet(), map6.keySet());
-
- AbstractMap map7 = new WeakHashMap();
- assertSame("WeakHashMap", map7.keySet(), map7.keySet());
- }
-
- /**
- * java.util.AbstractMap#remove(java.lang.Object)
- */
- public void test_removeLjava_lang_Object() {
- Object key = new Object();
- Object value = new Object();
-
- AbstractMap map1 = new HashMap(0);
- map1.put("key", value);
- assertSame("HashMap(0)", map1.remove("key"), value);
-
- AbstractMap map4 = new IdentityHashMap(1);
- map4.put(key, value);
- assertSame("IdentityHashMap", map4.remove(key), value);
-
- AbstractMap map5 = new LinkedHashMap(122);
- map5.put(key, value);
- assertSame("LinkedHashMap", map5.remove(key), value);
-
- AbstractMap map6 = new TreeMap(new Comparator() {
- // Bogus comparator
- public int compare(Object object1, Object object2) {
- return 0;
- }
- });
- map6.put(key, value);
- assertSame("TreeMap", map6.remove(key), value);
-
- AbstractMap map7 = new WeakHashMap();
- map7.put(key, value);
- assertSame("WeakHashMap", map7.remove(key), value);
-
- AbstractMap aSpecialMap = new MyMap();
- aSpecialMap.put(specialKey, specialValue);
- Object valueOut = aSpecialMap.remove(specialKey);
- assertSame("MyMap", valueOut, specialValue);
- }
-
- /**
- * java.util.AbstractMap#values()
- */
- public void test_values() {
- AbstractMap map1 = new HashMap(0);
- assertSame("HashMap(0)", map1.values(), map1.values());
-
- AbstractMap map2 = new HashMap(10);
- assertSame("HashMap(10)", map2.values(), map2.values());
-
- Map map3 = Collections.EMPTY_MAP;
- assertSame("EMPTY_MAP", map3.values(), map3.values());
-
- AbstractMap map4 = new IdentityHashMap(1);
- assertSame("IdentityHashMap", map4.values(), map4.values());
-
- AbstractMap map5 = new LinkedHashMap(122);
- assertSame("IdentityHashMap", map5.values(), map5.values());
-
- AbstractMap map6 = new TreeMap();
- assertSame("TreeMap", map6.values(), map6.values());
-
- AbstractMap map7 = new WeakHashMap();
- assertSame("WeakHashMap", map7.values(), map7.values());
- }
-
- /**
- * java.util.AbstractMap#clone()
- */
- public void test_clone() {
- class MyMap extends AbstractMap implements Cloneable {
- private Map map = new HashMap();
-
- public Set entrySet() {
- return map.entrySet();
- }
-
- public Object put(Object key, Object value) {
- return map.put(key, value);
- }
-
- public Map getMap() {
- return map;
- }
-
- public Object clone() {
- try {
- return super.clone();
- } catch (CloneNotSupportedException e) {
- throw new AssertionError(e); // android-changed
- }
- }
- }
- ;
- MyMap map = new MyMap();
- map.put("one", "1");
- Map.Entry entry = (Map.Entry) map.entrySet().iterator().next();
- assertTrue("entry not added", entry.getKey() == "one"
- && entry.getValue() == "1");
- MyMap mapClone = (MyMap) map.clone();
- assertTrue("clone not shallow", map.getMap() == mapClone.getMap());
- }
-
- public class AMT extends AbstractMap {
-
- // Very crude AbstractMap implementation
- Vector values = new Vector();
- Vector keys = new Vector();
-
- public Set entrySet() {
- return new AbstractSet() {
- public Iterator iterator() {
- return new Iterator() {
- int index = 0;
-
- public boolean hasNext() {
- return index < values.size();
- }
-
- public Object next() {
- if (index < values.size()) {
- Map.Entry me = new Map.Entry() {
- Object v = values.elementAt(index);
-
- Object k = keys.elementAt(index);
-
- public Object getKey() {
- return k;
- }
-
- public Object getValue() {
- return v;
- }
-
- public Object setValue(Object value) {
- return null;
- }
- };
- index++;
- return me;
- }
- return null;
- }
-
- public void remove() {
- }
- };
- }
-
- public int size() {
- return values.size();
- }
- };
- }
-
- public Object put(Object k, Object v) {
- keys.add(k);
- values.add(v);
- return v;
- }
- }
-
- /**
- * {@link java.util.AbstractMap#putAll(Map)}
- */
- public void test_putAllLMap() {
- Hashtable ht = new Hashtable();
- AMT amt = new AMT();
- ht.put("this", "that");
- amt.putAll(ht);
-
- assertEquals("Should be equal", amt, ht);
- }
-
- public void testEqualsWithNullValues() {
- Map<String, String> a = new HashMap<String, String>();
- a.put("a", null);
- a.put("b", null);
-
- Map<String, String> b = new HashMap<String, String>();
- a.put("c", "cat");
- a.put("d", "dog");
-
- assertFalse(a.equals(b));
- assertFalse(b.equals(a));
- }
-
- public void testNullsOnViews() {
- Map<String, String> nullHostile = new Hashtable<String, String>();
-
- nullHostile.put("a", "apple");
- testNullsOnView(nullHostile.entrySet());
-
- nullHostile.put("a", "apple");
- testNullsOnView(nullHostile.keySet());
-
- nullHostile.put("a", "apple");
- testNullsOnView(nullHostile.values());
- }
-
- private void testNullsOnView(Collection<?> view) {
- try {
- assertFalse(view.contains(null));
- } catch (NullPointerException optional) {
- }
-
- try {
- assertFalse(view.remove(null));
- } catch (NullPointerException optional) {
- }
-
- Set<Object> setOfNull = Collections.singleton(null);
- assertFalse(view.equals(setOfNull));
-
- try {
- assertFalse(view.removeAll(setOfNull));
- } catch (NullPointerException optional) {
- }
-
- try {
- assertTrue(view.retainAll(setOfNull)); // destructive
- } catch (NullPointerException optional) {
- }
- }
-
- protected void setUp() {
- }
-
- protected void tearDown() {
- }
-}