--- jsr166/src/test/tck/LinkedBlockingQueueTest.java 2004/10/31 14:55:14 1.10 +++ jsr166/src/test/tck/LinkedBlockingQueueTest.java 2005/01/20 00:39:13 1.11 @@ -614,6 +614,23 @@ public class LinkedBlockingQueueTest ext } assertTrue(q.isEmpty()); } + + /** + * An add following remove(x) succeeds + */ + public void testRemoveElementAndAdd() { + try { + LinkedBlockingQueue q = new LinkedBlockingQueue(); + assertTrue(q.add(new Integer(1))); + assertTrue(q.add(new Integer(2))); + assertTrue(q.remove(new Integer(1))); + assertTrue(q.remove(new Integer(2))); + assertTrue(q.add(new Integer(3))); + assertTrue(q.take() != null); + } catch (Exception e){ + unexpectedException(); + } + } /** * contains(x) reports true when elements added but not yet removed