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