()
| 254 | } |
| 255 | |
| 256 | @Test |
| 257 | public void iteratorTest () { |
| 258 | final Queue<Integer> q = new Queue<Integer>(); |
| 259 | |
| 260 | // Test head < tail. |
| 261 | for (int j = 0; j <= 6; j++) |
| 262 | q.addLast(j); |
| 263 | Iterator<Integer> iter = q.iterator(); |
| 264 | for (int j = 0; j <= 6; j++) |
| 265 | assertEquals(iter.next().intValue(), j); |
| 266 | iter = q.iterator(); |
| 267 | iter.next(); |
| 268 | iter.remove(); |
| 269 | assertValues(q, 1, 2, 3, 4, 5, 6); |
| 270 | iter.next(); |
| 271 | iter.remove(); |
| 272 | assertValues(q, 2, 3, 4, 5, 6); |
| 273 | iter.next(); |
| 274 | iter.next(); |
| 275 | iter.remove(); |
| 276 | assertValues(q, 2, 4, 5, 6); |
| 277 | iter.next(); |
| 278 | iter.next(); |
| 279 | iter.next(); |
| 280 | iter.remove(); |
| 281 | assertValues(q, 2, 4, 5); |
| 282 | |
| 283 | // Test head >= tail. |
| 284 | q.clear(); |
| 285 | for (int j = 2; j >= 0; j--) |
| 286 | q.addFirst(j); |
| 287 | for (int j = 3; j <= 6; j++) |
| 288 | q.addLast(j); |
| 289 | iter = q.iterator(); |
| 290 | for (int j = 0; j <= 6; j++) |
| 291 | assertEquals(iter.next().intValue(), j); |
| 292 | iter = q.iterator(); |
| 293 | iter.next(); |
| 294 | iter.remove(); |
| 295 | assertValues(q, 1, 2, 3, 4, 5, 6); |
| 296 | iter.next(); |
| 297 | iter.remove(); |
| 298 | assertValues(q, 2, 3, 4, 5, 6); |
| 299 | iter.next(); |
| 300 | iter.next(); |
| 301 | iter.remove(); |
| 302 | assertValues(q, 2, 4, 5, 6); |
| 303 | iter.next(); |
| 304 | iter.next(); |
| 305 | iter.next(); |
| 306 | iter.remove(); |
| 307 | assertValues(q, 2, 4, 5); |
| 308 | } |
| 309 | |
| 310 | @Test |
| 311 | public void iteratorRemoveEdgeCaseTest () {// See #4300 |
nothing calls this directly
no test coverage detected