Fixing sort order. git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@2654 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/test/com/google/gwt/emultest/java/util/LinkedHashMapTest.java b/user/test/com/google/gwt/emultest/java/util/LinkedHashMapTest.java index c493ca1..cf6a5e3 100644 --- a/user/test/com/google/gwt/emultest/java/util/LinkedHashMapTest.java +++ b/user/test/com/google/gwt/emultest/java/util/LinkedHashMapTest.java
@@ -30,6 +30,32 @@ * Tests <code>LinkedHashMap</code>. */ public class LinkedHashMapTest extends TestMap { + // should be a method-level class, however to avoid serialization warning made + // static instead. + static class TestRemoveEldestMap extends LinkedHashMap { + + public String expectedKey; + public boolean removeEldest; + + public TestRemoveEldestMap() { + this(false); + } + + public TestRemoveEldestMap(boolean accessOrder) { + super(1, .5f, accessOrder); + } + + @Override + public boolean removeEldestEntry(Map.Entry entry) { + if (removeEldest) { + assertEquals(expectedKey, entry.getKey()); + return true; + } else { + return false; + } + } + } + private static final int CAPACITY_16 = 16; private static final int CAPACITY_NEG_ONE_HALF = -1; private static final int CAPACITY_ZERO = 0; @@ -118,102 +144,6 @@ return "com.google.gwt.emultest.EmulSuite"; } - // should be a method-level class, however to avoid serialization warning made - // static instead. - static class TestRemoveEldestMap extends LinkedHashMap { - - public boolean removeEldest; - public String expectedKey; - - public TestRemoveEldestMap() { - this(false); - } - - public TestRemoveEldestMap(boolean accessOrder) { - super(1, .5f, accessOrder); - } - - @Override - public boolean removeEldestEntry(Map.Entry entry) { - if (removeEldest) { - assertEquals(expectedKey, entry.getKey()); - return true; - } else { - return false; - } - } - } - - public void testRemoveEldest() { - TestRemoveEldestMap m = new TestRemoveEldestMap(false); - m.put("A", "A"); - m.put("B", "B"); - m.put("C", "C"); - m.put("D", "D"); - m.get("B"); - m.get("D"); - m.removeEldest = true; - m.expectedKey = "A"; - m.put("E", "E"); - m.put("B", "New-B"); - Iterator<Map.Entry> entries = m.entrySet().iterator(); - Map.Entry first = entries.next(); - assertEquals("B", first.getKey()); - assertEquals("New-B", first.getValue()); - assertEquals(4, m.size()); - } - - public void testRemoveEldestMapLRU() { - TestRemoveEldestMap m; - Iterator<Map.Entry> entries; - Map.Entry first; - m = new TestRemoveEldestMap(true); - m.put("A", "A"); - m.put("B", "B"); - m.put("C", "C"); - m.put("D", "D"); - m.get("A"); - m.get("D"); - m.removeEldest = true; - m.expectedKey = "B"; - m.put("E", "E"); - - m.put("C", "New-C"); - entries = m.entrySet().iterator(); - first = entries.next(); - assertEquals("A", first.getKey()); - assertEquals("D", entries.next().getKey()); - assertEquals("E", entries.next().getKey()); - assertEquals("New-C", entries.next().getValue()); - } - - public void testAddWatch() { - LinkedHashMap<String, String> m = new LinkedHashMap<String, String>(); - m.put("watch", "watch"); - assertEquals(m.get("watch"), "watch"); - } - - public void testLRU() { - LinkedHashMap<String, String> m = new LinkedHashMap<String, String>(10, - .5f, true); - m.put("A", "A"); - m.put("B", "B"); - m.put("C", "C"); - m.put("D", "D"); - Iterator<Entry<String, String>> entry = m.entrySet().iterator(); - assertEquals("A", entry.next().getValue()); - assertEquals("B", entry.next().getValue()); - assertEquals("C", entry.next().getValue()); - assertEquals("D", entry.next().getValue()); - m.get("B"); - m.get("D"); - entry = m.entrySet().iterator(); - assertEquals("A", entry.next().getValue()); - assertEquals("C", entry.next().getValue()); - assertEquals("B", entry.next().getValue()); - assertEquals("D", entry.next().getValue()); - } - public void testAddEqualKeys() { final LinkedHashMap<Number, Object> expected = new LinkedHashMap<Number, Object>(); assertEquals(expected.size(), 0); @@ -227,6 +157,12 @@ iterateThrough(expected); } + public void testAddWatch() { + LinkedHashMap<String, String> m = new LinkedHashMap<String, String>(); + m.put("watch", "watch"); + assertEquals(m.get("watch"), "watch"); + } + /* * Test method for 'java.util.LinkedHashMap.clear()' */ @@ -412,6 +348,71 @@ } /* + * Test method for 'java.util.AbstractMap.isEmpty()' + */ + public void testIsEmpty() { + LinkedHashMap<String, String> srcMap = new LinkedHashMap<String, String>(); + checkEmptyLinkedHashMapAssumptions(srcMap); + + LinkedHashMap<String, String> dstMap = new LinkedHashMap<String, String>(); + checkEmptyLinkedHashMapAssumptions(dstMap); + + dstMap.putAll(srcMap); + assertTrue(dstMap.isEmpty()); + + dstMap.put(KEY_KEY, VALUE_VAL); + assertFalse(dstMap.isEmpty()); + + dstMap.remove(KEY_KEY); + assertTrue(dstMap.isEmpty()); + assertEquals(dstMap.size(), 0); + } + + public void testKeysConflict() { + LinkedHashMap<Object, String> hashMap = new LinkedHashMap<Object, String>(); + + hashMap.put(STRING_ZERO_KEY, STRING_ZERO_VALUE); + hashMap.put(INTEGER_ZERO_KEY, INTEGER_ZERO_VALUE); + hashMap.put(ODD_ZERO_KEY, ODD_ZERO_VALUE); + assertEquals(hashMap.get(INTEGER_ZERO_KEY), INTEGER_ZERO_VALUE); + assertEquals(hashMap.get(ODD_ZERO_KEY), ODD_ZERO_VALUE); + assertEquals(hashMap.get(STRING_ZERO_KEY), STRING_ZERO_VALUE); + hashMap.remove(INTEGER_ZERO_KEY); + assertEquals(hashMap.get(ODD_ZERO_KEY), ODD_ZERO_VALUE); + assertEquals(hashMap.get(STRING_ZERO_KEY), STRING_ZERO_VALUE); + assertEquals(hashMap.get(INTEGER_ZERO_KEY), null); + hashMap.remove(ODD_ZERO_KEY); + assertEquals(hashMap.get(INTEGER_ZERO_KEY), null); + assertEquals(hashMap.get(ODD_ZERO_KEY), null); + assertEquals(hashMap.get(STRING_ZERO_KEY), STRING_ZERO_VALUE); + hashMap.remove(STRING_ZERO_KEY); + assertEquals(hashMap.get(INTEGER_ZERO_KEY), null); + assertEquals(hashMap.get(ODD_ZERO_KEY), null); + assertEquals(hashMap.get(STRING_ZERO_KEY), null); + assertEquals(hashMap.size(), 0); + } + + /* + * Test method for 'java.util.LinkedHashMap.keySet()' + */ + public void testKeySet() { + LinkedHashMap<String, String> hashMap = new LinkedHashMap<String, String>(); + checkEmptyLinkedHashMapAssumptions(hashMap); + + Set keySet = hashMap.keySet(); + System.err.println("keySet:" + keySet); + assertNotNull(keySet); + assertTrue(keySet.isEmpty()); + assertTrue(keySet.size() == 0); + + hashMap.put(KEY_TEST_KEY_SET, VALUE_TEST_KEY_SET); + assertEquals(SIZE_ONE, keySet.size()); + assertTrue(keySet.contains(KEY_TEST_KEY_SET)); + assertFalse(keySet.contains(VALUE_TEST_KEY_SET)); + assertFalse(keySet.contains(KEY_TEST_KEY_SET.toUpperCase())); + } + + /* * Test method for 'java.util.LinkedHashMap.LinkedHashMap()'. */ public void testLinkedHashMap() { @@ -514,69 +515,25 @@ assertTrue(keyColl.contains(INTEGER_3)); } - /* - * Test method for 'java.util.AbstractMap.isEmpty()' - */ - public void testIsEmpty() { - LinkedHashMap<String, String> srcMap = new LinkedHashMap<String, String>(); - checkEmptyLinkedHashMapAssumptions(srcMap); - - LinkedHashMap<String, String> dstMap = new LinkedHashMap<String, String>(); - checkEmptyLinkedHashMapAssumptions(dstMap); - - dstMap.putAll(srcMap); - assertTrue(dstMap.isEmpty()); - - dstMap.put(KEY_KEY, VALUE_VAL); - assertFalse(dstMap.isEmpty()); - - dstMap.remove(KEY_KEY); - assertTrue(dstMap.isEmpty()); - assertEquals(dstMap.size(), 0); - } - - public void testKeysConflict() { - LinkedHashMap<Object, String> hashMap = new LinkedHashMap<Object, String>(); - - hashMap.put(STRING_ZERO_KEY, STRING_ZERO_VALUE); - hashMap.put(INTEGER_ZERO_KEY, INTEGER_ZERO_VALUE); - hashMap.put(ODD_ZERO_KEY, ODD_ZERO_VALUE); - assertEquals(hashMap.get(INTEGER_ZERO_KEY), INTEGER_ZERO_VALUE); - assertEquals(hashMap.get(ODD_ZERO_KEY), ODD_ZERO_VALUE); - assertEquals(hashMap.get(STRING_ZERO_KEY), STRING_ZERO_VALUE); - hashMap.remove(INTEGER_ZERO_KEY); - assertEquals(hashMap.get(ODD_ZERO_KEY), ODD_ZERO_VALUE); - assertEquals(hashMap.get(STRING_ZERO_KEY), STRING_ZERO_VALUE); - assertEquals(hashMap.get(INTEGER_ZERO_KEY), null); - hashMap.remove(ODD_ZERO_KEY); - assertEquals(hashMap.get(INTEGER_ZERO_KEY), null); - assertEquals(hashMap.get(ODD_ZERO_KEY), null); - assertEquals(hashMap.get(STRING_ZERO_KEY), STRING_ZERO_VALUE); - hashMap.remove(STRING_ZERO_KEY); - assertEquals(hashMap.get(INTEGER_ZERO_KEY), null); - assertEquals(hashMap.get(ODD_ZERO_KEY), null); - assertEquals(hashMap.get(STRING_ZERO_KEY), null); - assertEquals(hashMap.size(), 0); - } - - /* - * Test method for 'java.util.LinkedHashMap.keySet()' - */ - public void testKeySet() { - LinkedHashMap<String, String> hashMap = new LinkedHashMap<String, String>(); - checkEmptyLinkedHashMapAssumptions(hashMap); - - Set keySet = hashMap.keySet(); - System.err.println("keySet:" + keySet); - assertNotNull(keySet); - assertTrue(keySet.isEmpty()); - assertTrue(keySet.size() == 0); - - hashMap.put(KEY_TEST_KEY_SET, VALUE_TEST_KEY_SET); - assertEquals(SIZE_ONE, keySet.size()); - assertTrue(keySet.contains(KEY_TEST_KEY_SET)); - assertFalse(keySet.contains(VALUE_TEST_KEY_SET)); - assertFalse(keySet.contains(KEY_TEST_KEY_SET.toUpperCase())); + public void testLRU() { + LinkedHashMap<String, String> m = new LinkedHashMap<String, String>(10, + .5f, true); + m.put("A", "A"); + m.put("B", "B"); + m.put("C", "C"); + m.put("D", "D"); + Iterator<Entry<String, String>> entry = m.entrySet().iterator(); + assertEquals("A", entry.next().getValue()); + assertEquals("B", entry.next().getValue()); + assertEquals("C", entry.next().getValue()); + assertEquals("D", entry.next().getValue()); + m.get("B"); + m.get("D"); + entry = m.entrySet().iterator(); + assertEquals("A", entry.next().getValue()); + assertEquals("C", entry.next().getValue()); + assertEquals("B", entry.next().getValue()); + assertEquals("D", entry.next().getValue()); } /* @@ -673,6 +630,49 @@ assertNull(hashMap.remove(KEY_TEST_REMOVE)); } + public void testRemoveEldest() { + TestRemoveEldestMap m = new TestRemoveEldestMap(false); + m.put("A", "A"); + m.put("B", "B"); + m.put("C", "C"); + m.put("D", "D"); + m.get("B"); + m.get("D"); + m.removeEldest = true; + m.expectedKey = "A"; + m.put("E", "E"); + m.put("B", "New-B"); + Iterator<Map.Entry> entries = m.entrySet().iterator(); + Map.Entry first = entries.next(); + assertEquals("B", first.getKey()); + assertEquals("New-B", first.getValue()); + assertEquals(4, m.size()); + } + + public void testRemoveEldestMapLRU() { + TestRemoveEldestMap m; + Iterator<Map.Entry> entries; + Map.Entry first; + m = new TestRemoveEldestMap(true); + m.put("A", "A"); + m.put("B", "B"); + m.put("C", "C"); + m.put("D", "D"); + m.get("A"); + m.get("D"); + m.removeEldest = true; + m.expectedKey = "B"; + m.put("E", "E"); + + m.put("C", "New-C"); + entries = m.entrySet().iterator(); + first = entries.next(); + assertEquals("A", first.getKey()); + assertEquals("D", entries.next().getKey()); + assertEquals("E", entries.next().getKey()); + assertEquals("New-C", entries.next().getValue()); + } + /** * Test method for 'java.util.LinkedHashMap.size()'. */