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.55 by jsr166, Mon Jun 27 20:37:32 2011 UTC vs.
Revision 1.63 by jsr166, Sun Nov 23 22:27:06 2014 UTC

# Line 9 | Line 9
9   import junit.framework.*;
10   import java.util.Arrays;
11   import java.util.ArrayList;
12 + import java.util.Collection;
13   import java.util.Iterator;
14   import java.util.NoSuchElementException;
15   import java.util.concurrent.BlockingQueue;
# Line 62 | Line 63 | public class DelayQueueTest extends JSR1
63              return (other instanceof PDelay) &&
64                  this.pseudodelay == ((PDelay)other).pseudodelay;
65          }
66 +        // suppress [overrides] javac warning
67 +        public int hashCode() { return pseudodelay; }
68          public long getDelay(TimeUnit ignore) {
69              return Integer.MIN_VALUE + pseudodelay;
70          }
# Line 97 | Line 100 | public class DelayQueueTest extends JSR1
100              return other.trigger == trigger;
101          }
102  
103 +        // suppress [overrides] javac warning
104 +        public int hashCode() { return (int) trigger; }
105 +
106          public long getDelay(TimeUnit unit) {
107              long n = trigger - System.nanoTime();
108              return unit.convert(n, TimeUnit.NANOSECONDS);
# Line 112 | Line 118 | public class DelayQueueTest extends JSR1
118      }
119  
120      /**
121 <     * Create a queue of given size containing consecutive
121 >     * Returns a new queue of given size containing consecutive
122       * PDelays 0 ... n.
123       */
124      private DelayQueue<PDelay> populatedQueue(int n) {
# Line 482 | Line 488 | public class DelayQueueTest extends JSR1
488      }
489  
490      /**
485     * remove(x) removes x and returns true if present
486     */
487    public void testRemoveElement() {
488        DelayQueue q = populatedQueue(SIZE);
489        for (int i = 1; i < SIZE; i+=2) {
490            assertTrue(q.remove(new PDelay(i)));
491        }
492        for (int i = 0; i < SIZE; i+=2) {
493            assertTrue(q.remove(new PDelay(i)));
494            assertFalse(q.remove(new PDelay(i+1)));
495        }
496        assertTrue(q.isEmpty());
497    }
498
499    /**
491       * contains(x) reports true when elements added but not yet removed
492       */
493      public void testContains() {
# Line 635 | Line 626 | public class DelayQueueTest extends JSR1
626          it.next();
627          it.remove();
628          it = q.iterator();
629 <        assertEquals(it.next(), new PDelay(2));
630 <        assertEquals(it.next(), new PDelay(3));
629 >        assertEquals(new PDelay(2), it.next());
630 >        assertEquals(new PDelay(3), it.next());
631          assertFalse(it.hasNext());
632      }
633  
# Line 661 | Line 652 | public class DelayQueueTest extends JSR1
652              public void realRun() throws InterruptedException {
653                  assertNull(q.poll());
654                  threadsStarted.await();
655 <                assertTrue(null != q.poll(LONG_DELAY_MS, MILLISECONDS));
655 >                assertNotNull(q.poll(LONG_DELAY_MS, MILLISECONDS));
656                  checkEmpty(q);
657              }});
658  
# Line 733 | Line 724 | public class DelayQueueTest extends JSR1
724          }
725          ArrayList l = new ArrayList();
726          q.drainTo(l);
727 <        assertEquals(q.size(), 0);
727 >        assertEquals(0, q.size());
728          for (int i = 0; i < SIZE; ++i)
729 <            assertEquals(l.get(i), elems[i]);
729 >            assertEquals(elems[i], l.get(i));
730          q.add(elems[0]);
731          q.add(elems[1]);
732          assertFalse(q.isEmpty());
# Line 743 | Line 734 | public class DelayQueueTest extends JSR1
734          assertTrue(q.contains(elems[1]));
735          l.clear();
736          q.drainTo(l);
737 <        assertEquals(q.size(), 0);
738 <        assertEquals(l.size(), 2);
737 >        assertEquals(0, q.size());
738 >        assertEquals(2, l.size());
739          for (int i = 0; i < 2; ++i)
740 <            assertEquals(l.get(i), elems[i]);
740 >            assertEquals(elems[i], l.get(i));
741      }
742  
743      /**
# Line 776 | Line 767 | public class DelayQueueTest extends JSR1
767              ArrayList l = new ArrayList();
768              q.drainTo(l, i);
769              int k = (i < SIZE) ? i : SIZE;
770 <            assertEquals(q.size(), SIZE-k);
771 <            assertEquals(l.size(), k);
770 >            assertEquals(SIZE-k, q.size());
771 >            assertEquals(k, l.size());
772          }
773      }
774  
775 +    /**
776 +     * remove(null), contains(null) always return false
777 +     */
778 +    public void testNeverContainsNull() {
779 +        Collection<?> q = populatedQueue(SIZE);
780 +        assertFalse(q.contains(null));
781 +        assertFalse(q.remove(null));
782 +    }
783   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines