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

Comparing jsr166/src/test/tck/LinkedBlockingQueueTest.java (file contents):
Revision 1.9 by dl, Wed Jan 7 01:13:50 2004 UTC vs.
Revision 1.11 by dl, Thu Jan 20 00:39:13 2005 UTC

# Line 614 | Line 614 | public class LinkedBlockingQueueTest ext
614          }
615          assertTrue(q.isEmpty());
616      }
617 +
618 +    /**
619 +     * An add following remove(x) succeeds
620 +     */
621 +    public void testRemoveElementAndAdd() {
622 +        try {
623 +            LinkedBlockingQueue q = new LinkedBlockingQueue();
624 +            assertTrue(q.add(new Integer(1)));
625 +            assertTrue(q.add(new Integer(2)));
626 +            assertTrue(q.remove(new Integer(1)));
627 +            assertTrue(q.remove(new Integer(2)));
628 +            assertTrue(q.add(new Integer(3)));
629 +            assertTrue(q.take() != null);
630 +        } catch (Exception e){
631 +            unexpectedException();
632 +        }
633 +    }
634          
635      /**
636       * contains(x) reports true when elements added but not yet removed
# Line 638 | Line 655 | public class LinkedBlockingQueueTest ext
655          assertEquals(SIZE, q.remainingCapacity());
656          q.add(one);
657          assertFalse(q.isEmpty());
658 +        assertTrue(q.contains(one));
659          q.clear();
660          assertTrue(q.isEmpty());
661      }
# Line 956 | Line 974 | public class LinkedBlockingQueueTest ext
974          assertEquals(l.size(), SIZE);
975          for (int i = 0; i < SIZE; ++i)
976              assertEquals(l.get(i), new Integer(i));
977 +        q.add(zero);
978 +        q.add(one);
979 +        assertFalse(q.isEmpty());
980 +        assertTrue(q.contains(zero));
981 +        assertTrue(q.contains(one));
982 +        l.clear();
983 +        q.drainTo(l);
984 +        assertEquals(q.size(), 0);
985 +        assertEquals(l.size(), 2);
986 +        for (int i = 0; i < 2; ++i)
987 +            assertEquals(l.get(i), new Integer(i));
988      }
989  
990      /**
# Line 1014 | Line 1043 | public class LinkedBlockingQueueTest ext
1043       * drainTo(c, n) empties first max {n, size} elements of queue into c
1044       */
1045      public void testDrainToN() {
1046 +        LinkedBlockingQueue q = new LinkedBlockingQueue();
1047          for (int i = 0; i < SIZE + 2; ++i) {
1048 <            LinkedBlockingQueue q = populatedQueue(SIZE);
1048 >            for(int j = 0; j < SIZE; j++)
1049 >                assertTrue(q.offer(new Integer(j)));
1050              ArrayList l = new ArrayList();
1051              q.drainTo(l, i);
1052              int k = (i < SIZE)? i : SIZE;
1022            assertEquals(q.size(), SIZE-k);
1053              assertEquals(l.size(), k);
1054 +            assertEquals(q.size(), SIZE-k);
1055              for (int j = 0; j < k; ++j)
1056                  assertEquals(l.get(j), new Integer(j));
1057 +            while (q.poll() != null) ;
1058          }
1059      }
1060  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines