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.LongIteratorIterator; 24 25 29 public abstract class TestLongIterator extends AbstractTestIterator { 30 31 34 public TestLongIterator(String testName) { 35 super(testName); 36 } 37 38 41 public Iterator makeEmptyIterator() { 42 return LongIteratorIterator.wrap(makeEmptyLongIterator()); 43 } 44 45 public Iterator makeFullIterator() { 46 return LongIteratorIterator.wrap(makeFullLongIterator()); 47 } 48 49 50 protected abstract LongIterator makeEmptyLongIterator(); 51 protected abstract LongIterator makeFullLongIterator(); 52 protected abstract long[] getFullElements(); 53 54 57 public void testNextHasNextRemove() { 58 long[] elements = getFullElements(); 59 LongIterator iter = makeFullLongIterator(); 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 testEmptyLongIterator() { 71 assertTrue( ! makeEmptyLongIterator().hasNext() ); 72 try { 73 makeEmptyLongIterator().next(); 74 fail("Expected NoSuchElementException"); 75 } catch(NoSuchElementException e) { 76 } 78 if(supportsRemove()) { 79 try { 80 makeEmptyLongIterator().remove(); 81 fail("Expected IllegalStateException"); 82 } catch(IllegalStateException e) { 83 } 85 } 86 } 87 88 public void testRemoveBeforeNext() { 89 if(supportsRemove()) { 90 try { 91 makeFullLongIterator().remove(); 92 fail("Expected IllegalStateException"); 93 } catch(IllegalStateException e) { 94 } 96 } 97 } 98 99 public void testRemoveAfterRemove() { 100 if(supportsRemove()) { 101 LongIterator iter = makeFullLongIterator(); 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 |