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.FloatIteratorIterator; 24 25 29 public abstract class TestFloatIterator extends AbstractTestIterator { 30 31 34 public TestFloatIterator(String testName) { 35 super(testName); 36 } 37 38 41 public Iterator makeEmptyIterator() { 42 return FloatIteratorIterator.wrap(makeEmptyFloatIterator()); 43 } 44 45 public Iterator makeFullIterator() { 46 return FloatIteratorIterator.wrap(makeFullFloatIterator()); 47 } 48 49 50 protected abstract FloatIterator makeEmptyFloatIterator(); 51 protected abstract FloatIterator makeFullFloatIterator(); 52 protected abstract float[] getFullElements(); 53 54 57 public void testNextHasNextRemove() { 58 float[] elements = getFullElements(); 59 FloatIterator iter = makeFullFloatIterator(); 60 for(int i=0;i<elements.length;i++) { 61 assertTrue(iter.hasNext()); 62 assertEquals(elements[i],iter.next(),0f); 63 if(supportsRemove()) { 64 iter.remove(); 65 } 66 } 67 assertTrue(! iter.hasNext() ); 68 } 69 70 public void testEmptyFloatIterator() { 71 assertTrue( ! makeEmptyFloatIterator().hasNext() ); 72 try { 73 makeEmptyFloatIterator().next(); 74 fail("Expected NoSuchElementException"); 75 } catch(NoSuchElementException e) { 76 } 78 if(supportsRemove()) { 79 try { 80 makeEmptyFloatIterator().remove(); 81 fail("Expected IllegalStateException"); 82 } catch(IllegalStateException e) { 83 } 85 } 86 } 87 88 public void testRemoveBeforeNext() { 89 if(supportsRemove()) { 90 try { 91 makeFullFloatIterator().remove(); 92 fail("Expected IllegalStateException"); 93 } catch(IllegalStateException e) { 94 } 96 } 97 } 98 99 public void testRemoveAfterRemove() { 100 if(supportsRemove()) { 101 FloatIterator iter = makeFullFloatIterator(); 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 |