[cvs] / jsr166 / src / test / tck / ArrayBlockingQueueTest.java Repository:
ViewVC logotype

Diff of /jsr166/src/test/tck/ArrayBlockingQueueTest.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.24, Sat Nov 21 22:00:46 2009 UTC revision 1.25, Sun Nov 22 00:17:37 2009 UTC
# Line 296  Line 296 
296      public void testBlockingPut() throws InterruptedException {      public void testBlockingPut() throws InterruptedException {
297          final ArrayBlockingQueue q = new ArrayBlockingQueue(SIZE);          final ArrayBlockingQueue q = new ArrayBlockingQueue(SIZE);
298          Thread t = new Thread(new CheckedRunnable() {          Thread t = new Thread(new CheckedRunnable() {
299              public void realRun() {              public void realRun() throws InterruptedException {
300                  int added = 0;                  for (int i = 0; i < SIZE; ++i)
301                        q.put(i);
302                    assertEquals(SIZE, q.size());
303                    assertEquals(0, q.remainingCapacity());
304                  try {                  try {
305                      for (int i = 0; i < SIZE; ++i) {                      q.put(99);
306                          q.put(new Integer(i));                      shouldThrow();
307                          ++added;                  } catch (InterruptedException success) {}
308                      }              }});
                     q.put(new Integer(SIZE));  
                     threadShouldThrow();  
                 } catch (InterruptedException success) {  
                     threadAssertEquals(added, SIZE);  
                 }}});  
309    
310          t.start();          t.start();
311          Thread.sleep(MEDIUM_DELAY_MS);          Thread.sleep(SHORT_DELAY_MS);
312          t.interrupt();          t.interrupt();
313          t.join();          t.join();
314            assertEquals(SIZE, q.size());
315            assertEquals(0, q.remainingCapacity());
316      }      }
317    
318      /**      /**
# Line 373  Line 373 
373      public void testTake() throws InterruptedException {      public void testTake() throws InterruptedException {
374          ArrayBlockingQueue q = populatedQueue(SIZE);          ArrayBlockingQueue q = populatedQueue(SIZE);
375          for (int i = 0; i < SIZE; ++i) {          for (int i = 0; i < SIZE; ++i) {
376              assertEquals(i, ((Integer)q.take()).intValue());              assertEquals(i, q.take());
377          }          }
378      }      }
379    
# Line 397  Line 397 
397       * Take removes existing elements until empty, then blocks interruptibly       * Take removes existing elements until empty, then blocks interruptibly
398       */       */
399      public void testBlockingTake() throws InterruptedException {      public void testBlockingTake() throws InterruptedException {
400          Thread t = new ThreadShouldThrow(InterruptedException.class) {          final ArrayBlockingQueue q = populatedQueue(SIZE);
401            Thread t = new Thread(new CheckedRunnable() {
402              public void realRun() throws InterruptedException {              public void realRun() throws InterruptedException {
                 ArrayBlockingQueue q = populatedQueue(SIZE);  
403                  for (int i = 0; i < SIZE; ++i) {                  for (int i = 0; i < SIZE; ++i) {
404                      threadAssertEquals(i, ((Integer)q.take()).intValue());                      assertEquals(i, q.take());
405                  }                  }
406                    try {
407                  q.take();                  q.take();
408              }};                      shouldThrow();
409                    } catch (InterruptedException success) {}
410                }});
411    
412          t.start();          t.start();
413              Thread.sleep(SHORT_DELAY_MS);              Thread.sleep(SHORT_DELAY_MS);
# Line 419  Line 422 
422      public void testPoll() {      public void testPoll() {
423          ArrayBlockingQueue q = populatedQueue(SIZE);          ArrayBlockingQueue q = populatedQueue(SIZE);
424          for (int i = 0; i < SIZE; ++i) {          for (int i = 0; i < SIZE; ++i) {
425              assertEquals(i, ((Integer)q.poll()).intValue());              assertEquals(i, q.poll());
426          }          }
427          assertNull(q.poll());          assertNull(q.poll());
428      }      }
# Line 430  Line 433 
433      public void testTimedPoll0() throws InterruptedException {      public void testTimedPoll0() throws InterruptedException {
434          ArrayBlockingQueue q = populatedQueue(SIZE);          ArrayBlockingQueue q = populatedQueue(SIZE);
435          for (int i = 0; i < SIZE; ++i) {          for (int i = 0; i < SIZE; ++i) {
436              assertEquals(i, ((Integer)q.poll(0, MILLISECONDS)).intValue());              assertEquals(i, q.poll(0, MILLISECONDS));
437          }          }
438          assertNull(q.poll(0, MILLISECONDS));          assertNull(q.poll(0, MILLISECONDS));
439      }      }
# Line 441  Line 444 
444      public void testTimedPoll() throws InterruptedException {      public void testTimedPoll() throws InterruptedException {
445          ArrayBlockingQueue q = populatedQueue(SIZE);          ArrayBlockingQueue q = populatedQueue(SIZE);
446          for (int i = 0; i < SIZE; ++i) {          for (int i = 0; i < SIZE; ++i) {
447              assertEquals(i, ((Integer)q.poll(SHORT_DELAY_MS, MILLISECONDS)).intValue());              assertEquals(i, q.poll(SHORT_DELAY_MS, MILLISECONDS));
448          }          }
449          assertNull(q.poll(SHORT_DELAY_MS, MILLISECONDS));          assertNull(q.poll(SHORT_DELAY_MS, MILLISECONDS));
450      }      }
# Line 455  Line 458 
458              public void realRun() throws InterruptedException {              public void realRun() throws InterruptedException {
459                  ArrayBlockingQueue q = populatedQueue(SIZE);                  ArrayBlockingQueue q = populatedQueue(SIZE);
460                  for (int i = 0; i < SIZE; ++i) {                  for (int i = 0; i < SIZE; ++i) {
461                      assertEquals(i, ((Integer)q.poll(SHORT_DELAY_MS, MILLISECONDS)).intValue());                      assertEquals(i, q.poll(SHORT_DELAY_MS, MILLISECONDS));;
462                  }                  }
463                  try {                  try {
464                      q.poll(SMALL_DELAY_MS, MILLISECONDS);                      q.poll(SMALL_DELAY_MS, MILLISECONDS);

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.25

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8