1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.collections.primitives.decorators;
18
19 import org.apache.commons.collections.primitives.ArrayDoubleList;
20 import org.apache.commons.collections.primitives.DoubleIterator;
21 import org.apache.commons.collections.primitives.DoubleList;
22 import org.apache.commons.collections.primitives.DoubleListIterator;
23
24
25
26
27
28 public abstract class BaseUnmodifiableDoubleListIteratorTest extends BaseUnmodifiableDoubleIteratorTest {
29
30
31
32
33 public BaseUnmodifiableDoubleListIteratorTest(String testName) {
34 super(testName);
35 }
36
37
38
39
40
41 protected abstract DoubleListIterator makeUnmodifiableDoubleListIterator();
42
43 protected DoubleIterator makeUnmodifiableDoubleIterator() {
44 return makeUnmodifiableDoubleListIterator();
45 }
46
47 protected DoubleIterator makeDoubleIterator() {
48 return makeDoubleListIterator();
49 }
50
51 protected DoubleListIterator makeDoubleListIterator() {
52 DoubleList list = new ArrayDoubleList();
53 for(double i=0;i<10;i++) {
54 list.add(i);
55 }
56 return list.listIterator();
57 }
58
59
60
61
62 public final void testDoubleListIteratorNotModifiable() {
63 DoubleListIterator iter = makeUnmodifiableDoubleListIterator();
64 assertTrue(iter.hasNext());
65 iter.next();
66 try {
67 iter.remove();
68 fail("Expected UnsupportedOperationException");
69 } catch(UnsupportedOperationException e) {
70
71 }
72 try {
73 iter.add((double)1);
74 fail("Expected UnsupportedOperationException");
75 } catch(UnsupportedOperationException e) {
76
77 }
78 try {
79 iter.set((double)3);
80 fail("Expected UnsupportedOperationException");
81 } catch(UnsupportedOperationException e) {
82
83 }
84 }
85
86 public final void testIterateDoubleListIterator() {
87 DoubleListIterator iter = makeUnmodifiableDoubleListIterator();
88 DoubleListIterator expected = makeDoubleListIterator();
89
90 assertTrue(! iter.hasPrevious());
91
92 while( expected.hasNext() ) {
93 assertTrue(iter.hasNext());
94 assertEquals(expected.nextIndex(),iter.nextIndex());
95 assertEquals(expected.previousIndex(),iter.previousIndex());
96 assertEquals(expected.next(),iter.next(),(double)0);
97 assertTrue(iter.hasPrevious());
98 assertEquals(expected.nextIndex(),iter.nextIndex());
99 assertEquals(expected.previousIndex(),iter.previousIndex());
100 }
101
102 assertTrue(! iter.hasNext() );
103
104 while( expected.hasPrevious() ) {
105 assertTrue(iter.hasPrevious());
106 assertEquals(expected.nextIndex(),iter.nextIndex());
107 assertEquals(expected.previousIndex(),iter.previousIndex());
108 assertEquals(expected.previous(),iter.previous(),(double)0);
109 assertTrue(iter.hasNext());
110 assertEquals(expected.nextIndex(),iter.nextIndex());
111 assertEquals(expected.previousIndex(),iter.previousIndex());
112 }
113 assertTrue(! iter.hasPrevious() );
114 }
115
116 }