--- jsr166/src/test/tck/DelayQueueTest.java 2011/11/26 05:19:17 1.57 +++ jsr166/src/test/tck/DelayQueueTest.java 2014/11/23 22:27:06 1.63 @@ -9,6 +9,7 @@ import junit.framework.*; import java.util.Arrays; import java.util.ArrayList; +import java.util.Collection; import java.util.Iterator; import java.util.NoSuchElementException; import java.util.concurrent.BlockingQueue; @@ -62,6 +63,8 @@ public class DelayQueueTest extends JSR1 return (other instanceof PDelay) && this.pseudodelay == ((PDelay)other).pseudodelay; } + // suppress [overrides] javac warning + public int hashCode() { return pseudodelay; } public long getDelay(TimeUnit ignore) { return Integer.MIN_VALUE + pseudodelay; } @@ -97,6 +100,9 @@ public class DelayQueueTest extends JSR1 return other.trigger == trigger; } + // suppress [overrides] javac warning + public int hashCode() { return (int) trigger; } + public long getDelay(TimeUnit unit) { long n = trigger - System.nanoTime(); return unit.convert(n, TimeUnit.NANOSECONDS); @@ -112,7 +118,7 @@ public class DelayQueueTest extends JSR1 } /** - * Create a queue of given size containing consecutive + * Returns a new queue of given size containing consecutive * PDelays 0 ... n. */ private DelayQueue populatedQueue(int n) { @@ -620,8 +626,8 @@ public class DelayQueueTest extends JSR1 it.next(); it.remove(); it = q.iterator(); - assertEquals(it.next(), new PDelay(2)); - assertEquals(it.next(), new PDelay(3)); + assertEquals(new PDelay(2), it.next()); + assertEquals(new PDelay(3), it.next()); assertFalse(it.hasNext()); } @@ -646,7 +652,7 @@ public class DelayQueueTest extends JSR1 public void realRun() throws InterruptedException { assertNull(q.poll()); threadsStarted.await(); - assertTrue(null != q.poll(LONG_DELAY_MS, MILLISECONDS)); + assertNotNull(q.poll(LONG_DELAY_MS, MILLISECONDS)); checkEmpty(q); }}); @@ -720,7 +726,7 @@ public class DelayQueueTest extends JSR1 q.drainTo(l); assertEquals(0, q.size()); for (int i = 0; i < SIZE; ++i) - assertEquals(l.get(i), elems[i]); + assertEquals(elems[i], l.get(i)); q.add(elems[0]); q.add(elems[1]); assertFalse(q.isEmpty()); @@ -731,7 +737,7 @@ public class DelayQueueTest extends JSR1 assertEquals(0, q.size()); assertEquals(2, l.size()); for (int i = 0; i < 2; ++i) - assertEquals(l.get(i), elems[i]); + assertEquals(elems[i], l.get(i)); } /** @@ -761,9 +767,17 @@ public class DelayQueueTest extends JSR1 ArrayList l = new ArrayList(); q.drainTo(l, i); int k = (i < SIZE) ? i : SIZE; - assertEquals(q.size(), SIZE-k); - assertEquals(l.size(), k); + assertEquals(SIZE-k, q.size()); + assertEquals(k, l.size()); } } + /** + * remove(null), contains(null) always return false + */ + public void testNeverContainsNull() { + Collection q = populatedQueue(SIZE); + assertFalse(q.contains(null)); + assertFalse(q.remove(null)); + } }