13 |
|
import java.io.*; |
14 |
|
|
15 |
|
public class PriorityBlockingQueueTest extends JSR166TestCase { |
16 |
+ |
|
17 |
+ |
public static class Generic extends BlockingQueueTest { |
18 |
+ |
protected BlockingQueue emptyCollection() { |
19 |
+ |
return new PriorityBlockingQueue(); |
20 |
+ |
} |
21 |
+ |
} |
22 |
+ |
|
23 |
+ |
public static class InitialCapacity extends BlockingQueueTest { |
24 |
+ |
protected BlockingQueue emptyCollection() { |
25 |
+ |
return new PriorityBlockingQueue(20); |
26 |
+ |
} |
27 |
+ |
} |
28 |
+ |
|
29 |
|
public static void main(String[] args) { |
30 |
|
junit.textui.TestRunner.run(suite()); |
31 |
|
} |
32 |
+ |
|
33 |
|
public static Test suite() { |
34 |
< |
return new TestSuite(PriorityBlockingQueueTest.class); |
34 |
> |
return newTestSuite(PriorityBlockingQueueTest.class, |
35 |
> |
new Generic().testSuite(), |
36 |
> |
new InitialCapacity().testSuite()); |
37 |
|
} |
38 |
|
|
39 |
|
private static final int NOCAP = Integer.MAX_VALUE; |
261 |
|
shouldThrow(); |
262 |
|
} catch (NullPointerException success) {} |
263 |
|
} |
264 |
+ |
|
265 |
|
/** |
266 |
|
* addAll of a collection with any null elements throws NPE after |
267 |
|
* possibly adding some elements |
461 |
|
} |
462 |
|
|
463 |
|
/** |
447 |
– |
* timed poll before a delayed offer fails; after offer succeeds; |
448 |
– |
* on interruption throws |
449 |
– |
*/ |
450 |
– |
public void testTimedPollWithOffer() throws InterruptedException { |
451 |
– |
final PriorityBlockingQueue q = new PriorityBlockingQueue(2); |
452 |
– |
Thread t = new Thread(new CheckedRunnable() { |
453 |
– |
public void realRun() throws InterruptedException { |
454 |
– |
assertNull(q.poll(SHORT_DELAY_MS, MILLISECONDS)); |
455 |
– |
assertSame(zero, q.poll(MEDIUM_DELAY_MS, MILLISECONDS)); |
456 |
– |
try { |
457 |
– |
q.poll(LONG_DELAY_MS, MILLISECONDS); |
458 |
– |
shouldThrow(); |
459 |
– |
} catch (InterruptedException success) {} |
460 |
– |
}}); |
461 |
– |
|
462 |
– |
t.start(); |
463 |
– |
Thread.sleep(SMALL_DELAY_MS); |
464 |
– |
assertTrue(q.offer(zero, SHORT_DELAY_MS, MILLISECONDS)); |
465 |
– |
t.interrupt(); |
466 |
– |
t.join(); |
467 |
– |
} |
468 |
– |
|
469 |
– |
|
470 |
– |
/** |
464 |
|
* peek returns next element, or null if empty |
465 |
|
*/ |
466 |
|
public void testPeek() { |