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

Comparing jsr166/src/test/tck/DelayQueueTest.java (file contents):
Revision 1.10 by dl, Tue Jun 1 12:54:09 2004 UTC vs.
Revision 1.13 by dl, Thu Sep 22 00:32:09 2005 UTC

# Line 592 | Line 592 | public class DelayQueueTest extends JSR1
592          for (int i = 0; i < SIZE; ++i) {
593              assertEquals(new PDelay(i), ((PDelay)q.peek()));
594              q.poll();
595 <            assertTrue(q.peek() == null ||
596 <                       i != ((PDelay)q.peek()).intValue());
595 >            if (q.isEmpty())
596 >                assertNull(q.peek());
597 >            else
598 >                assertTrue(i != ((PDelay)q.peek()).intValue());
599          }
600          assertNull(q.peek());
601      }
# Line 665 | Line 667 | public class DelayQueueTest extends JSR1
667          assertTrue(q.isEmpty());
668          assertEquals(0, q.size());
669          assertEquals(NOCAP, q.remainingCapacity());
670 <        q.add(new PDelay(1));
670 >        PDelay x = new PDelay(1);
671 >        q.add(x);
672          assertFalse(q.isEmpty());
673 +        assertTrue(q.contains(x));
674          q.clear();
675          assertTrue(q.isEmpty());
676      }
# Line 881 | Line 885 | public class DelayQueueTest extends JSR1
885          }
886      }
887  
888 +    /**
889 +     * peek of a non-empty queue returns non-null even if not expired
890 +     */
891 +    public void testPeekDelayed() {
892 +        DelayQueue q = new DelayQueue();
893 +        q.add(new NanoDelay(Long.MAX_VALUE));
894 +        assert(q.peek() != null);
895 +    }
896 +
897 +
898 +    /**
899 +     * poll of a non-empty queue returns null if no expired elements.
900 +     */
901 +    public void testPollDelayed() {
902 +        DelayQueue q = new DelayQueue();
903 +        q.add(new NanoDelay(Long.MAX_VALUE));
904 +        assertNull(q.poll());
905 +    }
906 +
907 +    /**
908 +     * timed poll of a non-empty queue returns null if no expired elements.
909 +     */
910 +    public void testTimedPollDelayed() {
911 +        DelayQueue q = new DelayQueue();
912 +        q.add(new NanoDelay(Long.MAX_VALUE));
913 +        try {
914 +            assertNull(q.poll(SHORT_DELAY_MS, TimeUnit.MILLISECONDS));
915 +        } catch (Exception ex) {
916 +            unexpectedException();
917 +        }
918 +    }
919  
920      /**
921       * drainTo(null) throws NPE
# Line 910 | Line 945 | public class DelayQueueTest extends JSR1
945       * drainTo(c) empties queue into another collection c
946       */
947      public void testDrainTo() {
948 <        DelayQueue q = populatedQueue(SIZE);
948 >        DelayQueue q = new DelayQueue();
949 >        PDelay[] elems = new PDelay[SIZE];
950 >        for (int i = 0; i < SIZE; ++i) {
951 >            elems[i] = new PDelay(i);
952 >            q.add(elems[i]);
953 >        }
954          ArrayList l = new ArrayList();
955          q.drainTo(l);
956          assertEquals(q.size(), 0);
957 <        assertEquals(l.size(), SIZE);
957 >        for (int i = 0; i < SIZE; ++i)
958 >            assertEquals(l.get(i), elems[i]);
959 >        q.add(elems[0]);
960 >        q.add(elems[1]);
961 >        assertFalse(q.isEmpty());
962 >        assertTrue(q.contains(elems[0]));
963 >        assertTrue(q.contains(elems[1]));
964 >        l.clear();
965 >        q.drainTo(l);
966 >        assertEquals(q.size(), 0);
967 >        assertEquals(l.size(), 2);
968 >        for (int i = 0; i < 2; ++i)
969 >            assertEquals(l.get(i), elems[i]);
970      }
971  
972      /**

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines