1 17 package org.apache.commons.collections.primitives; 18 19 import java.util.Iterator ; 20 import java.util.NoSuchElementException ; 21 22 import org.apache.commons.collections.iterators.AbstractTestIterator; 23 import org.apache.commons.collections.primitives.adapters.IntIteratorIterator; 24 25 29 public abstract class TestIntIterator extends AbstractTestIterator { 30 31 34 public TestIntIterator(String testName) { 35 super(testName); 36 } 37 38 41 public Iterator makeEmptyIterator() { 42 return IntIteratorIterator.wrap(makeEmptyIntIterator()); 43 } 44 45 public Iterator makeFullIterator() { 46 return IntIteratorIterator.wrap(makeFullIntIterator()); 47 } 48 49 50 protected abstract IntIterator makeEmptyIntIterator(); 51 protected abstract IntIterator makeFullIntIterator(); 52 protected abstract int[] getFullElements(); 53 54 57 public void testNextHasNextRemove() { 58 int[] elements = getFullElements(); 59 IntIterator iter = makeFullIntIterator(); 60 for(int i=0;i<elements.length;i++) { 61 assertTrue(iter.hasNext()); 62 assertEquals(elements[i],iter.next()); 63 if(supportsRemove()) { 64 iter.remove(); 65 } 66 } 67 assertTrue(! iter.hasNext() ); 68 } 69 70 public void testEmptyIntIterator() { 71 assertTrue( ! makeEmptyIntIterator().hasNext() ); 72 try { 73 makeEmptyIntIterator().next(); 74 fail("Expected NoSuchElementException"); 75 } catch(NoSuchElementException e) { 76 } 78 if(supportsRemove()) { 79 try { 80 makeEmptyIntIterator().remove(); 81 fail("Expected IllegalStateException"); 82 } catch(IllegalStateException e) { 83 } 85 } 86 } 87 88 public void testRemoveBeforeNext() { 89 if(supportsRemove()) { 90 try { 91 makeFullIntIterator().remove(); 92 fail("Expected IllegalStateException"); 93 } catch(IllegalStateException e) { 94 } 96 } 97 } 98 99 public void testRemoveAfterRemove() { 100 if(supportsRemove()) { 101 IntIterator iter = makeFullIntIterator(); 102 iter.next(); 103 iter.remove(); 104 try { 105 iter.remove(); 106 fail("Expected IllegalStateException"); 107 } catch(IllegalStateException e) { 108 } 110 } 111 } 112 } 113 | Popular Tags |