/** Test that the full list iterator contract is correct. */ public void testFullMapIterator() { if (supportsFullIterator() == false) { return; } super.testFullMapIterator(); OrderedMapIterator it = makeFullOrderedMapIterator(); Map map = getMap(); assertEquals(true, it.hasNext()); assertEquals(false, it.hasPrevious()); Set set = new HashSet(); while (it.hasNext()) { // getKey Object key = it.next(); assertSame("it.next() should equals getKey()", key, it.getKey()); assertTrue("Key must be in map", map.containsKey(key)); assertTrue("Key must be unique", set.add(key)); // getValue Object value = it.getValue(); if (isGetStructuralModify() == false) { assertSame("Value must be mapped to key", map.get(key), value); } assertTrue("Value must be in map", map.containsValue(value)); assertEquals(true, it.hasPrevious()); verify(); } while (it.hasPrevious()) { // getKey Object key = it.previous(); assertSame("it.previous() should equals getKey()", key, it.getKey()); assertTrue("Key must be in map", map.containsKey(key)); assertTrue("Key must be unique", set.remove(key)); // getValue Object value = it.getValue(); if (isGetStructuralModify() == false) { assertSame("Value must be mapped to key", map.get(key), value); } assertTrue("Value must be in map", map.containsValue(value)); assertEquals(true, it.hasNext()); verify(); } }
/** Test that the empty list iterator contract is correct. */ public void testEmptyMapIterator() { if (supportsEmptyIterator() == false) { return; } super.testEmptyMapIterator(); OrderedMapIterator it = makeEmptyOrderedMapIterator(); Map map = getMap(); assertEquals(false, it.hasPrevious()); try { it.previous(); fail(); } catch (NoSuchElementException ex) { } }