From fa2ac96916b525220b65724f54045a4a7ac19d98 Mon Sep 17 00:00:00 2001 From: Henri Yandell Date: Tue, 15 Sep 2009 05:58:07 +0000 Subject: [PATCH] Merging from -r468106:814127 of collections_jdk5_branch - namely where this code was generified; mostly in r738956. Also see the following revisions: ------------------------------------------------------------------------ r753392 | mbenson | 2009-03-13 13:39:53 -0700 (Fri, 13 Mar 2009) | 1 line revert IteratorUtils stuff; toList() works fine for this--duh ------------------------------------------------------------------------ r751850 | mbenson | 2009-03-09 14:34:44 -0700 (Mon, 09 Mar 2009) | 1 line add iterable(Iterator) ------------------------------------------------------------------------ git-svn-id: https://svn.apache.org/repos/asf/commons/proper/collections/trunk@815150 13f79535-47bb-0310-9956-ffa450edef68 --- .../collections/TestIteratorUtils.java | 172 +++++++++--------- 1 file changed, 88 insertions(+), 84 deletions(-) diff --git a/src/test/org/apache/commons/collections/TestIteratorUtils.java b/src/test/org/apache/commons/collections/TestIteratorUtils.java index 0f3d3de99..6b797b52a 100644 --- a/src/test/org/apache/commons/collections/TestIteratorUtils.java +++ b/src/test/org/apache/commons/collections/TestIteratorUtils.java @@ -53,16 +53,16 @@ public class TestIteratorUtils extends BulkTest { } public void testToList() { - List list = new ArrayList(); + List list = new ArrayList(); list.add(new Integer(1)); list.add("Two"); list.add(null); - List result = IteratorUtils.toList(list.iterator()); + List result = IteratorUtils.toList(list.iterator()); assertEquals(list, result); } public void testToArray() { - List list = new ArrayList(); + List list = new ArrayList(); list.add(new Integer(1)); list.add("Two"); list.add(null); @@ -71,137 +71,137 @@ public class TestIteratorUtils extends BulkTest { } public void testToArray2() { - List list = new ArrayList(); + List list = new ArrayList(); list.add("One"); list.add("Two"); list.add(null); String[] result = (String[]) IteratorUtils.toArray(list.iterator(), String.class); assertEquals(list, Arrays.asList(result)); } - + public void testArrayIterator() { Object[] objArray = {"a", "b", "c"}; - ResettableIterator iterator = IteratorUtils.arrayIterator(objArray); + ResettableIterator iterator = IteratorUtils.arrayIterator(objArray); assertTrue(iterator.next().equals("a")); assertTrue(iterator.next().equals("b")); iterator.reset(); assertTrue(iterator.next().equals("a")); - + try { iterator = IteratorUtils.arrayIterator(new Integer(0)); fail("Expecting IllegalArgumentException"); } catch (IllegalArgumentException ex) { // expected } - + try { iterator = IteratorUtils.arrayIterator(null); fail("Expecting NullPointerException"); } catch (NullPointerException ex) { // expected } - + iterator = IteratorUtils.arrayIterator(objArray, 1); assertTrue(iterator.next().equals("b")); - + try { iterator = IteratorUtils.arrayIterator(objArray, -1); fail("Expecting IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException ex) { // expected } - + iterator = IteratorUtils.arrayIterator(objArray, 3); assertTrue(!iterator.hasNext()); iterator.reset(); - + try { iterator = IteratorUtils.arrayIterator(objArray, 4); fail("Expecting IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException ex) { // expected } - + iterator = IteratorUtils.arrayIterator(objArray, 2, 3); assertTrue(iterator.next().equals("c")); - + try { iterator = IteratorUtils.arrayIterator(objArray, 2, 4); fail("Expecting IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException ex) { // expected } - + try { iterator = IteratorUtils.arrayIterator(objArray, -1, 1); fail("Expecting IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException ex) { // expected } - + try { iterator = IteratorUtils.arrayIterator(objArray, 2, 1); fail("Expecting IllegalArgumentException"); } catch (IllegalArgumentException ex) { // expected } - + int[] intArray = {0, 1, 2}; iterator = IteratorUtils.arrayIterator(intArray); assertTrue(iterator.next().equals(new Integer(0))); assertTrue(iterator.next().equals(new Integer(1))); iterator.reset(); assertTrue(iterator.next().equals(new Integer(0))); - + iterator = IteratorUtils.arrayIterator(intArray, 1); assertTrue(iterator.next().equals(new Integer(1))); - + try { iterator = IteratorUtils.arrayIterator(intArray, -1); fail("Expecting IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException ex) { // expected } - + iterator = IteratorUtils.arrayIterator(intArray, 3); assertTrue(!iterator.hasNext()); iterator.reset(); - + try { iterator = IteratorUtils.arrayIterator(intArray, 4); fail("Expecting IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException ex) { // expected } - + iterator = IteratorUtils.arrayIterator(intArray, 2, 3); assertTrue(iterator.next().equals(new Integer(2))); - + try { iterator = IteratorUtils.arrayIterator(intArray, 2, 4); fail("Expecting IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException ex) { // expected } - + try { iterator = IteratorUtils.arrayIterator(intArray, -1, 1); fail("Expecting IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException ex) { // expected } - + try { iterator = IteratorUtils.arrayIterator(intArray, 2, 1); fail("Expecting IllegalArgumentException"); } catch (IllegalArgumentException ex) { // expected - } + } } - + public void testArrayListIterator() { Object[] objArray = {"a", "b", "c", "d"}; - ResettableListIterator iterator = IteratorUtils.arrayListIterator(objArray); + ResettableListIterator iterator = IteratorUtils.arrayListIterator(objArray); assertTrue(!iterator.hasPrevious()); assertTrue(iterator.previousIndex() == -1); assertTrue(iterator.nextIndex() == 0); @@ -215,158 +215,158 @@ public class TestIteratorUtils extends BulkTest { assertTrue(iterator.next().equals("d")); assertTrue(iterator.nextIndex() == 4); // size of list assertTrue(iterator.previousIndex() == 3); - + try { iterator = IteratorUtils.arrayListIterator(new Integer(0)); fail("Expecting IllegalArgumentException"); } catch (IllegalArgumentException ex) { // expected } - + try { iterator = IteratorUtils.arrayListIterator(null); fail("Expecting NullPointerException"); } catch (NullPointerException ex) { // expected } - + iterator = IteratorUtils.arrayListIterator(objArray, 1); - assertTrue(iterator.previousIndex() == -1); + assertTrue(iterator.previousIndex() == -1); assertTrue(!iterator.hasPrevious()); - assertTrue(iterator.nextIndex() == 0); + assertTrue(iterator.nextIndex() == 0); assertTrue(iterator.next().equals("b")); - assertTrue(iterator.previousIndex() == 0); - + assertTrue(iterator.previousIndex() == 0); + try { iterator = IteratorUtils.arrayListIterator(objArray, -1); fail("Expecting IndexOutOfBoundsException."); } catch (IndexOutOfBoundsException ex) { // expected } - + iterator = IteratorUtils.arrayListIterator(objArray, 3); assertTrue(iterator.hasNext()); try { - Object x = iterator.previous(); + iterator.previous(); fail("Expecting NoSuchElementException."); } catch (NoSuchElementException ex) { // expected } - + try { iterator = IteratorUtils.arrayListIterator(objArray, 5); fail("Expecting IndexOutOfBoundsException."); } catch (IndexOutOfBoundsException ex) { // expected } - + iterator = IteratorUtils.arrayListIterator(objArray, 2, 3); assertTrue(iterator.next().equals("c")); - + try { iterator = IteratorUtils.arrayListIterator(objArray, 2, 5); fail("Expecting IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException ex) { // expected } - + try { iterator = IteratorUtils.arrayListIterator(objArray, -1, 1); fail("Expecting IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException ex) { // expected } - + try { iterator = IteratorUtils.arrayListIterator(objArray, 2, 1); fail("Expecting IllegalArgumentException"); } catch (IllegalArgumentException ex) { // expected } - + int[] intArray = {0, 1, 2}; iterator = IteratorUtils.arrayListIterator(intArray); - assertTrue(iterator.previousIndex() == -1); + assertTrue(iterator.previousIndex() == -1); assertTrue(!iterator.hasPrevious()); - assertTrue(iterator.nextIndex() == 0); + assertTrue(iterator.nextIndex() == 0); assertTrue(iterator.next().equals(new Integer(0))); - assertTrue(iterator.previousIndex() == 0); - assertTrue(iterator.nextIndex() == 1); + assertTrue(iterator.previousIndex() == 0); + assertTrue(iterator.nextIndex() == 1); assertTrue(iterator.next().equals(new Integer(1))); - assertTrue(iterator.previousIndex() == 1); - assertTrue(iterator.nextIndex() == 2); + assertTrue(iterator.previousIndex() == 1); + assertTrue(iterator.nextIndex() == 2); assertTrue(iterator.previous().equals(new Integer(1))); assertTrue(iterator.next().equals(new Integer(1))); - + iterator = IteratorUtils.arrayListIterator(intArray, 1); - assertTrue(iterator.previousIndex() == -1); + assertTrue(iterator.previousIndex() == -1); assertTrue(!iterator.hasPrevious()); - assertTrue(iterator.nextIndex() == 0); + assertTrue(iterator.nextIndex() == 0); assertTrue(iterator.next().equals(new Integer(1))); assertTrue(iterator.previous().equals(new Integer(1))); assertTrue(iterator.next().equals(new Integer(1))); - assertTrue(iterator.previousIndex() == 0); - assertTrue(iterator.nextIndex() == 1); + assertTrue(iterator.previousIndex() == 0); + assertTrue(iterator.nextIndex() == 1); assertTrue(iterator.next().equals(new Integer(2))); - assertTrue(iterator.previousIndex() == 1); - assertTrue(iterator.nextIndex() == 2); + assertTrue(iterator.previousIndex() == 1); + assertTrue(iterator.nextIndex() == 2); assertTrue(iterator.previous().equals(new Integer(2))); - assertTrue(iterator.previousIndex() == 0); - assertTrue(iterator.nextIndex() == 1); - + assertTrue(iterator.previousIndex() == 0); + assertTrue(iterator.nextIndex() == 1); + try { iterator = IteratorUtils.arrayListIterator(intArray, -1); fail("Expecting IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException ex) { // expected } - + iterator = IteratorUtils.arrayListIterator(intArray, 3); assertTrue(!iterator.hasNext()); - + try { iterator = IteratorUtils.arrayListIterator(intArray, 4); fail("Expecting IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException ex) { // expected } - + iterator = IteratorUtils.arrayListIterator(intArray, 2, 3); assertTrue(!iterator.hasPrevious()); assertTrue(iterator.previousIndex() == -1); assertTrue(iterator.next().equals(new Integer(2))); assertTrue(iterator.hasPrevious()); assertTrue(!iterator.hasNext()); - - + + try { iterator = IteratorUtils.arrayListIterator(intArray, 2, 4); fail("Expecting IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException ex) { // expected } - + try { iterator = IteratorUtils.arrayListIterator(intArray, -1, 1); fail("Expecting IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException ex) { // expected } - + try { iterator = IteratorUtils.arrayListIterator(intArray, 2, 1); fail("Expecting IllegalArgumentException"); } catch (IllegalArgumentException ex) { // expected - } + } } - + /** * Gets an immutable Iterator operating on the elements ["a", "b", "c", "d"]. */ - private Iterator getImmutableIterator() { - List list = new ArrayList(); + private Iterator getImmutableIterator() { + List list = new ArrayList(); list.add("a"); list.add("b"); list.add("c"); @@ -377,8 +377,8 @@ public class TestIteratorUtils extends BulkTest { /** * Gets an immutable ListIterator operating on the elements ["a", "b", "c", "d"]. */ - private ListIterator getImmutableListIterator() { - List list = new ArrayList(); + private ListIterator getImmutableListIterator() { + List list = new ArrayList(); list.add("a"); list.add("b"); list.add("c"); @@ -411,7 +411,7 @@ public class TestIteratorUtils extends BulkTest { fail(); } catch (IllegalStateException ex) {} } - + //----------------------------------------------------------------------- /** * Test empty list iterator @@ -451,11 +451,12 @@ public class TestIteratorUtils extends BulkTest { fail(); } catch (UnsupportedOperationException ex) {} } - + //----------------------------------------------------------------------- /** * Test empty map iterator */ + @SuppressWarnings("unchecked") public void testEmptyMapIterator() { assertSame(EmptyMapIterator.INSTANCE, IteratorUtils.EMPTY_MAP_ITERATOR); assertEquals(true, IteratorUtils.EMPTY_MAP_ITERATOR instanceof Iterator); @@ -465,7 +466,7 @@ public class TestIteratorUtils extends BulkTest { assertEquals(false, IteratorUtils.EMPTY_MAP_ITERATOR instanceof OrderedIterator); assertEquals(false, IteratorUtils.EMPTY_MAP_ITERATOR instanceof OrderedMapIterator); assertEquals(false, IteratorUtils.EMPTY_MAP_ITERATOR.hasNext()); - ((ResettableIterator) IteratorUtils.EMPTY_MAP_ITERATOR).reset(); + ((ResettableIterator) IteratorUtils.EMPTY_MAP_ITERATOR).reset(); assertSame(IteratorUtils.EMPTY_MAP_ITERATOR, IteratorUtils.EMPTY_MAP_ITERATOR); assertSame(IteratorUtils.EMPTY_MAP_ITERATOR, IteratorUtils.emptyMapIterator()); try { @@ -489,11 +490,12 @@ public class TestIteratorUtils extends BulkTest { fail(); } catch (IllegalStateException ex) {} } - + //----------------------------------------------------------------------- /** * Test empty map iterator */ + @SuppressWarnings("unchecked") public void testEmptyOrderedIterator() { assertSame(EmptyOrderedIterator.INSTANCE, IteratorUtils.EMPTY_ORDERED_ITERATOR); assertEquals(true, IteratorUtils.EMPTY_ORDERED_ITERATOR instanceof Iterator); @@ -503,7 +505,7 @@ public class TestIteratorUtils extends BulkTest { assertEquals(false, IteratorUtils.EMPTY_ORDERED_ITERATOR instanceof MapIterator); assertEquals(false, IteratorUtils.EMPTY_ORDERED_ITERATOR.hasNext()); assertEquals(false, IteratorUtils.EMPTY_ORDERED_ITERATOR.hasPrevious()); - ((ResettableIterator) IteratorUtils.EMPTY_ORDERED_ITERATOR).reset(); + ((ResettableIterator) IteratorUtils.EMPTY_ORDERED_ITERATOR).reset(); assertSame(IteratorUtils.EMPTY_ORDERED_ITERATOR, IteratorUtils.EMPTY_ORDERED_ITERATOR); assertSame(IteratorUtils.EMPTY_ORDERED_ITERATOR, IteratorUtils.emptyOrderedIterator()); try { @@ -519,11 +521,12 @@ public class TestIteratorUtils extends BulkTest { fail(); } catch (IllegalStateException ex) {} } - + //----------------------------------------------------------------------- /** * Test empty map iterator */ + @SuppressWarnings("unchecked") public void testEmptyOrderedMapIterator() { assertSame(EmptyOrderedMapIterator.INSTANCE, IteratorUtils.EMPTY_ORDERED_MAP_ITERATOR); assertEquals(true, IteratorUtils.EMPTY_ORDERED_MAP_ITERATOR instanceof Iterator); @@ -533,7 +536,7 @@ public class TestIteratorUtils extends BulkTest { assertEquals(false, IteratorUtils.EMPTY_ORDERED_MAP_ITERATOR instanceof ListIterator); assertEquals(false, IteratorUtils.EMPTY_ORDERED_MAP_ITERATOR.hasNext()); assertEquals(false, IteratorUtils.EMPTY_ORDERED_MAP_ITERATOR.hasPrevious()); - ((ResettableIterator) IteratorUtils.EMPTY_ORDERED_MAP_ITERATOR).reset(); + ((ResettableIterator) IteratorUtils.EMPTY_ORDERED_MAP_ITERATOR).reset(); assertSame(IteratorUtils.EMPTY_ORDERED_MAP_ITERATOR, IteratorUtils.EMPTY_ORDERED_MAP_ITERATOR); assertSame(IteratorUtils.EMPTY_ORDERED_MAP_ITERATOR, IteratorUtils.emptyOrderedMapIterator()); try { @@ -561,13 +564,13 @@ public class TestIteratorUtils extends BulkTest { fail(); } catch (IllegalStateException ex) {} } - + //----------------------------------------------------------------------- /** * Test next() and hasNext() for an immutable Iterator. */ public void testUnmodifiableIteratorIteration() { - Iterator iterator = getImmutableIterator(); + Iterator iterator = getImmutableIterator(); assertTrue(iterator.hasNext()); @@ -593,7 +596,7 @@ public class TestIteratorUtils extends BulkTest { * ListIterator. */ public void testUnmodifiableListIteratorIteration() { - ListIterator listIterator = getImmutableListIterator(); + ListIterator listIterator = getImmutableListIterator(); assertTrue(!listIterator.hasPrevious()); assertTrue(listIterator.hasNext()); @@ -643,7 +646,7 @@ public class TestIteratorUtils extends BulkTest { * Test remove() for an immutable Iterator. */ public void testUnmodifiableIteratorImmutability() { - Iterator iterator = getImmutableIterator(); + Iterator iterator = getImmutableIterator(); try { iterator.remove(); @@ -669,7 +672,7 @@ public class TestIteratorUtils extends BulkTest { * Test remove() for an immutable ListIterator. */ public void testUnmodifiableListIteratorImmutability() { - ListIterator listIterator = getImmutableListIterator(); + ListIterator listIterator = getImmutableListIterator(); try { listIterator.remove(); @@ -721,4 +724,5 @@ public class TestIteratorUtils extends BulkTest { // This is correct; ignore the exception. } } + }