MCPcopy Create free account
hub / github.com/ReadyTalk/avian / iteratorRemoveTest

Method iteratorRemoveTest

test/ArrayDequeTest.java:97–142  ·  view source on GitHub ↗
(boolean desc)

Source from the content-addressed store, hash-verified

95 }
96
97 private static void iteratorRemoveTest(boolean desc) {
98 int testQty = 20;
99 LinkedList<Object> compareList = new LinkedList<Object>();
100 ArrayDeque<Object> ad = new ArrayDeque<Object>();
101
102 for (int i = 0; i < testQty; i++) {
103 Object o = new Object();
104 compareList.add(o);
105 ad.add(o);
106 }
107
108 Iterator<Object> compIt;
109 Iterator<Object> testIt;
110 if (desc) {
111 compIt = compareList.descendingIterator();
112 testIt = ad.descendingIterator();
113 } else {
114 compIt = compareList.iterator();
115 testIt = ad.iterator();
116 }
117 boolean flip = true; // start with true to ensure first is removed
118 while (testIt.hasNext()) {
119 // advance iterators
120 testIt.next();
121 compIt.next();
122
123 if (flip || ! testIt.hasNext()) {
124 compIt.remove();
125 testIt.remove();
126 flip = false;
127 } else {
128 flip = true;
129 }
130 }
131
132 if (desc) {
133 compIt = compareList.descendingIterator();
134 testIt = ad.descendingIterator();
135 } else {
136 compIt = compareList.iterator();
137 testIt = ad.iterator();
138 }
139 while (testIt.hasNext()) {
140 verify(testIt.next() == compIt.next());
141 }
142 }
143
144 private static void iteratorNoElementFail(boolean desc) {
145 ArrayDeque<Object> ad = new ArrayDeque<Object>();

Callers 1

mainMethod · 0.95

Calls 10

addMethod · 0.95
descendingIteratorMethod · 0.95
descendingIteratorMethod · 0.95
iteratorMethod · 0.95
iteratorMethod · 0.95
verifyMethod · 0.95
addMethod · 0.65
hasNextMethod · 0.65
nextMethod · 0.65
removeMethod · 0.65

Tested by

no test coverage detected