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.42 by jsr166, Wed Nov 3 07:54:52 2010 UTC vs.
Revision 1.49 by dl, Fri May 6 11:22:07 2011 UTC

# Line 1 | Line 1
1   /*
2   * Written by Doug Lea with assistance from members of JCP JSR-166
3   * Expert Group and released to the public domain, as explained at
4 < * http://creativecommons.org/licenses/publicdomain
4 > * http://creativecommons.org/publicdomain/zero/1.0/
5   * Other contributors include Andrew Wright, Jeffrey Hayes,
6   * Pat Fisher, Mike Judd.
7   */
# Line 109 | Line 109 | public class DelayQueueTest extends JSR1
109       * Create a queue of given size containing consecutive
110       * PDelays 0 ... n.
111       */
112 <    private DelayQueue populatedQueue(int n) {
113 <        DelayQueue q = new DelayQueue();
112 >    private DelayQueue<PDelay> populatedQueue(int n) {
113 >        DelayQueue<PDelay> q = new DelayQueue<PDelay>();
114          assertTrue(q.isEmpty());
115          for (int i = n-1; i >= 0; i-=2)
116              assertTrue(q.offer(new PDelay(i)));
# Line 318 | Line 318 | public class DelayQueueTest extends JSR1
318      /**
319       * put(null) throws NPE
320       */
321 <     public void testPutNull() {
321 >    public void testPutNull() {
322          try {
323              DelayQueue q = new DelayQueue();
324              q.put(null);
325              shouldThrow();
326          } catch (NullPointerException success) {}
327 <     }
327 >    }
328  
329      /**
330       * all elements successfully put are contained
331       */
332 <     public void testPut() {
333 <         DelayQueue q = new DelayQueue();
334 <         for (int i = 0; i < SIZE; ++i) {
335 <             PDelay I = new PDelay(i);
336 <             q.put(I);
337 <             assertTrue(q.contains(I));
338 <         }
339 <         assertEquals(SIZE, q.size());
332 >    public void testPut() {
333 >        DelayQueue q = new DelayQueue();
334 >        for (int i = 0; i < SIZE; ++i) {
335 >            PDelay I = new PDelay(i);
336 >            q.put(I);
337 >            assertTrue(q.contains(I));
338 >        }
339 >        assertEquals(SIZE, q.size());
340      }
341  
342      /**
# Line 353 | Line 353 | public class DelayQueueTest extends JSR1
353              }});
354  
355          t.start();
356 <        Thread.sleep(SHORT_DELAY_MS);
356 >        delay(SHORT_DELAY_MS);
357          q.take();
358          t.interrupt();
359          t.join();
# Line 373 | Line 373 | public class DelayQueueTest extends JSR1
373              }});
374  
375          t.start();
376 <        Thread.sleep(SMALL_DELAY_MS);
376 >        delay(SMALL_DELAY_MS);
377          t.interrupt();
378          t.join();
379      }
# Line 402 | Line 402 | public class DelayQueueTest extends JSR1
402                  try {
403                      q.take();
404                      shouldThrow();
405 <                } catch (InterruptedException expected) {}
405 >                } catch (InterruptedException success) {}
406                  assertTrue(millisElapsedSince(t0) >= SHORT_DELAY_MS);
407              }});
408          threadStarted.await();
409 <        Thread.sleep(SHORT_DELAY_MS);
409 >        delay(SHORT_DELAY_MS);
410          assertTrue(t.isAlive());
411          t.interrupt();
412          awaitTermination(t, MEDIUM_DELAY_MS);
# Line 430 | Line 430 | public class DelayQueueTest extends JSR1
430              }});
431  
432          t.start();
433 <        Thread.sleep(SHORT_DELAY_MS);
433 >        delay(SHORT_DELAY_MS);
434          t.interrupt();
435          t.join();
436      }
# Line 487 | Line 487 | public class DelayQueueTest extends JSR1
487              }});
488  
489          t.start();
490 <        Thread.sleep(SHORT_DELAY_MS);
490 >        delay(SHORT_DELAY_MS);
491          t.interrupt();
492          t.join();
493      }
# Line 676 | Line 676 | public class DelayQueueTest extends JSR1
676          Object[] o = q.toArray();
677          Arrays.sort(o);
678          for (int i = 0; i < o.length; i++)
679 <            assertEquals(o[i], q.take());
679 >            assertSame(o[i], q.take());
680      }
681  
682      /**
683       * toArray(a) contains all elements
684       */
685 <    public void testToArray2() throws InterruptedException {
686 <        DelayQueue q = populatedQueue(SIZE);
685 >    public void testToArray2() {
686 >        DelayQueue<PDelay> q = populatedQueue(SIZE);
687          PDelay[] ints = new PDelay[SIZE];
688 <        ints = (PDelay[])q.toArray(ints);
688 >        PDelay[] array = q.toArray(ints);
689 >        assertSame(ints, array);
690          Arrays.sort(ints);
691          for (int i = 0; i < ints.length; i++)
692 <            assertEquals(ints[i], q.take());
692 >            assertSame(ints[i], q.remove());
693      }
694  
695  
696      /**
697 <     * toArray(null) throws NPE
697 >     * toArray(null) throws NullPointerException
698       */
699 <    public void testToArray_BadArg() {
699 >    public void testToArray_NullArg() {
700          DelayQueue q = populatedQueue(SIZE);
701          try {
702 <            Object o[] = q.toArray(null);
702 >            q.toArray(null);
703              shouldThrow();
704          } catch (NullPointerException success) {}
705      }
# Line 772 | Line 773 | public class DelayQueueTest extends JSR1
773  
774          executor.execute(new CheckedRunnable() {
775              public void realRun() throws InterruptedException {
776 <                Thread.sleep(SHORT_DELAY_MS);
776 >                delay(SHORT_DELAY_MS);
777                  q.put(new PDelay(1));
778              }});
779  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines