1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
26
27
28
29 public abstract class TestLongIterator extends AbstractTestIterator {
30
31
32
33
34 public TestLongIterator(String testName) {
35 super(testName);
36 }
37
38
39
40
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
55
56
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
77 }
78 if(supportsRemove()) {
79 try {
80 makeEmptyLongIterator().remove();
81 fail("Expected IllegalStateException");
82 } catch(IllegalStateException e) {
83
84 }
85 }
86 }
87
88 public void testRemoveBeforeNext() {
89 if(supportsRemove()) {
90 try {
91 makeFullLongIterator().remove();
92 fail("Expected IllegalStateException");
93 } catch(IllegalStateException e) {
94
95 }
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
109 }
110 }
111 }
112 }