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.46 by jsr166, Tue May 31 16:16:24 2011 UTC vs.
Revision 1.53 by jsr166, Sun Nov 23 22:27:06 2014 UTC

# Line 30 | Line 30 | public class LinkedBlockingQueueTest ext
30  
31      public static class Bounded extends BlockingQueueTest {
32          protected BlockingQueue emptyCollection() {
33 <            return new LinkedBlockingQueue(20);
33 >            return new LinkedBlockingQueue(SIZE);
34          }
35      }
36  
# Line 45 | Line 45 | public class LinkedBlockingQueueTest ext
45      }
46  
47      /**
48 <     * Create a queue of given size containing consecutive
48 >     * Returns a new queue of given size containing consecutive
49       * Integers 0 ... n.
50       */
51      private LinkedBlockingQueue<Integer> populatedQueue(int n) {
# Line 312 | Line 312 | public class LinkedBlockingQueueTest ext
312              }});
313  
314          await(pleaseTake);
315 <        assertEquals(q.remainingCapacity(), 0);
315 >        assertEquals(0, q.remainingCapacity());
316          assertEquals(0, q.take());
317  
318          await(pleaseInterrupt);
319          assertThreadStaysAlive(t);
320          t.interrupt();
321          awaitTermination(t);
322 <        assertEquals(q.remainingCapacity(), 0);
322 >        assertEquals(0, q.remainingCapacity());
323      }
324  
325      /**
# Line 504 | Line 504 | public class LinkedBlockingQueueTest ext
504      }
505  
506      /**
507     * remove(x) removes x and returns true if present
508     */
509    public void testRemoveElement() {
510        LinkedBlockingQueue q = populatedQueue(SIZE);
511        for (int i = 1; i < SIZE; i+=2) {
512            assertTrue(q.contains(i));
513            assertTrue(q.remove(i));
514            assertFalse(q.contains(i));
515            assertTrue(q.contains(i-1));
516        }
517        for (int i = 0; i < SIZE; i+=2) {
518            assertTrue(q.contains(i));
519            assertTrue(q.remove(i));
520            assertFalse(q.contains(i));
521            assertFalse(q.remove(i+1));
522            assertFalse(q.contains(i+1));
523        }
524        assertTrue(q.isEmpty());
525    }
526
527    /**
507       * An add following remove(x) succeeds
508       */
509      public void testRemoveElementAndAdd() throws InterruptedException {
# Line 534 | Line 513 | public class LinkedBlockingQueueTest ext
513          assertTrue(q.remove(new Integer(1)));
514          assertTrue(q.remove(new Integer(2)));
515          assertTrue(q.add(new Integer(3)));
516 <        assertTrue(q.take() != null);
516 >        assertNotNull(q.take());
517      }
518  
519      /**
# Line 776 | Line 755 | public class LinkedBlockingQueueTest ext
755          Queue x = populatedQueue(SIZE);
756          Queue y = serialClone(x);
757  
758 <        assertTrue(x != y);
758 >        assertNotSame(x, y);
759          assertEquals(x.size(), y.size());
760          assertEquals(x.toString(), y.toString());
761          assertTrue(Arrays.equals(x.toArray(), y.toArray()));
# Line 794 | Line 773 | public class LinkedBlockingQueueTest ext
773          LinkedBlockingQueue q = populatedQueue(SIZE);
774          ArrayList l = new ArrayList();
775          q.drainTo(l);
776 <        assertEquals(q.size(), 0);
777 <        assertEquals(l.size(), SIZE);
776 >        assertEquals(0, q.size());
777 >        assertEquals(SIZE, l.size());
778          for (int i = 0; i < SIZE; ++i)
779              assertEquals(l.get(i), new Integer(i));
780          q.add(zero);
# Line 805 | Line 784 | public class LinkedBlockingQueueTest ext
784          assertTrue(q.contains(one));
785          l.clear();
786          q.drainTo(l);
787 <        assertEquals(q.size(), 0);
788 <        assertEquals(l.size(), 2);
787 >        assertEquals(0, q.size());
788 >        assertEquals(2, l.size());
789          for (int i = 0; i < 2; ++i)
790              assertEquals(l.get(i), new Integer(i));
791      }
# Line 842 | Line 821 | public class LinkedBlockingQueueTest ext
821              ArrayList l = new ArrayList();
822              q.drainTo(l, i);
823              int k = (i < SIZE) ? i : SIZE;
824 <            assertEquals(l.size(), k);
825 <            assertEquals(q.size(), SIZE-k);
824 >            assertEquals(k, l.size());
825 >            assertEquals(SIZE-k, q.size());
826              for (int j = 0; j < k; ++j)
827                  assertEquals(l.get(j), new Integer(j));
828              while (q.poll() != null) ;
829          }
830      }
831  
832 +    /**
833 +     * remove(null), contains(null) always return false
834 +     */
835 +    public void testNeverContainsNull() {
836 +        Collection<?>[] qs = {
837 +            new LinkedBlockingQueue<Object>(),
838 +            populatedQueue(2),
839 +        };
840 +
841 +        for (Collection<?> q : qs) {
842 +            assertFalse(q.contains(null));
843 +            assertFalse(q.remove(null));
844 +        }
845 +    }
846 +
847   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines