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.ShortIteratorIterator;
24
25
26
27
28
29 public abstract class TestShortIterator extends AbstractTestIterator {
30
31
32
33
34 public TestShortIterator(String testName) {
35 super(testName);
36 }
37
38
39
40
41 public Iterator makeEmptyIterator() {
42 return ShortIteratorIterator.wrap(makeEmptyShortIterator());
43 }
44
45 public Iterator makeFullIterator() {
46 return ShortIteratorIterator.wrap(makeFullShortIterator());
47 }
48
49
50 protected abstract ShortIterator makeEmptyShortIterator();
51 protected abstract ShortIterator makeFullShortIterator();
52 protected abstract short[] getFullElements();
53
54
55
56
57 public void testNextHasNextRemove() {
58 short[] elements = getFullElements();
59 ShortIterator iter = makeFullShortIterator();
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 testEmptyShortIterator() {
71 assertTrue( ! makeEmptyShortIterator().hasNext() );
72 try {
73 makeEmptyShortIterator().next();
74 fail("Expected NoSuchElementException");
75 } catch(NoSuchElementException e) {
76
77 }
78 if(supportsRemove()) {
79 try {
80 makeEmptyShortIterator().remove();
81 fail("Expected IllegalStateException");
82 } catch(IllegalStateException e) {
83
84 }
85 }
86 }
87
88 public void testRemoveBeforeNext() {
89 if(supportsRemove()) {
90 try {
91 makeFullShortIterator().remove();
92 fail("Expected IllegalStateException");
93 } catch(IllegalStateException e) {
94
95 }
96 }
97 }
98
99 public void testRemoveAfterRemove() {
100 if(supportsRemove()) {
101 ShortIterator iter = makeFullShortIterator();
102 iter.next();
103 iter.remove();
104 try {
105 iter.remove();
106 fail("Expected IllegalStateException");
107 } catch(IllegalStateException e) {
108
109 }
110 }
111 }
112 }