ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/BlockingQueueTest.java
(Generate patch)

Comparing jsr166/src/test/tck/BlockingQueueTest.java (file contents):
Revision 1.11 by jsr166, Tue Jun 14 04:30:06 2011 UTC vs.
Revision 1.12 by jsr166, Fri Jul 15 18:49:31 2011 UTC

# Line 327 | Line 327 | public abstract class BlockingQueueTest
327          awaitTermination(t);
328      }
329  
330 +    /**
331 +     * remove(x) removes x and returns true if present
332 +     * TODO: move to superclass CollectionTest.java
333 +     */
334 +    public void testRemoveElement() {
335 +        final BlockingQueue q = emptyCollection();
336 +        final int size = Math.min(q.remainingCapacity(), SIZE);
337 +        final Object[] elts = new Object[size];
338 +        assertFalse(q.contains(makeElement(99)));
339 +        assertFalse(q.remove(makeElement(99)));
340 +        checkEmpty(q);
341 +        for (int i = 0; i < size; i++)
342 +            q.add(elts[i] = makeElement(i));
343 +        for (int i = 1; i < size; i+=2) {
344 +            for (int pass = 0; pass < 2; pass++) {
345 +                assertEquals((pass == 0), q.contains(elts[i]));
346 +                assertEquals((pass == 0), q.remove(elts[i]));
347 +                assertFalse(q.contains(elts[i]));
348 +                assertTrue(q.contains(elts[i-1]));
349 +                if (i < size - 1)
350 +                    assertTrue(q.contains(elts[i+1]));
351 +            }
352 +        }
353 +        if (size > 0)
354 +            assertTrue(q.contains(elts[0]));
355 +        for (int i = size-2; i >= 0; i-=2) {
356 +            assertTrue(q.contains(elts[i]));
357 +            assertFalse(q.contains(elts[i+1]));
358 +            assertTrue(q.remove(elts[i]));
359 +            assertFalse(q.contains(elts[i]));
360 +            assertFalse(q.remove(elts[i+1]));
361 +            assertFalse(q.contains(elts[i+1]));
362 +        }
363 +        checkEmpty(q);
364 +    }
365 +
366      /** For debugging. */
367      public void XXXXtestFails() {
368          fail(emptyCollection().getClass().toString());

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines