Class DelayQueueTest

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by JSR166TestCase
              extended by DelayQueueTest
All Implemented Interfaces:
junit.framework.Test

public class DelayQueueTest
extends JSR166TestCase


Nested Class Summary
 
Nested classes/interfaces inherited from class JSR166TestCase
JSR166TestCase.AdjustablePolicy, JSR166TestCase.CallableOne, JSR166TestCase.CheckedBarrier, JSR166TestCase.CheckedCallable<T>, JSR166TestCase.CheckedInterruptedCallable<T>, JSR166TestCase.CheckedInterruptedRunnable, JSR166TestCase.CheckedRecursiveAction, JSR166TestCase.CheckedRecursiveTask<T>, JSR166TestCase.CheckedRunnable, JSR166TestCase.LongPossiblyInterruptedRunnable, JSR166TestCase.MediumInterruptedRunnable, JSR166TestCase.MediumPossiblyInterruptedRunnable, JSR166TestCase.MediumRunnable, JSR166TestCase.NoOpCallable, JSR166TestCase.NoOpREHandler, JSR166TestCase.NoOpRunnable, JSR166TestCase.NPETask, JSR166TestCase.RunnableShouldThrow, JSR166TestCase.ShortInterruptedRunnable, JSR166TestCase.ShortRunnable, JSR166TestCase.SimpleThreadFactory, JSR166TestCase.SmallCallable, JSR166TestCase.SmallPossiblyInterruptedRunnable, JSR166TestCase.SmallRunnable, JSR166TestCase.StringTask, JSR166TestCase.ThreadShouldThrow, JSR166TestCase.TrackedCallable, JSR166TestCase.TrackedLongRunnable, JSR166TestCase.TrackedMediumRunnable, JSR166TestCase.TrackedNoOpRunnable, JSR166TestCase.TrackedRunnable, JSR166TestCase.TrackedShortRunnable, JSR166TestCase.TrackedSmallRunnable
 
Field Summary
 
Fields inherited from class JSR166TestCase
eight, expensiveTests, five, four, LONG_DELAY_MS, m1, m10, m2, m3, m4, m5, m6, MEDIUM_DELAY_MS, nine, one, seven, SHORT_DELAY_MS, six, SIZE, SMALL_DELAY_MS, TEST_STRING, three, two, zero
 
Constructor Summary
DelayQueueTest()
           
 
Method Summary
static void main(java.lang.String[] args)
           
static junit.framework.Test suite()
           
 void testAdd()
          add succeeds
 void testAddAll1()
          addAll(null) throws NPE
 void testAddAll2()
          addAll of a collection with null elements throws NPE
 void testAddAll3()
          addAll of a collection with any null elements throws NPE after possibly adding some elements
 void testAddAll5()
          Queue contains all elements of successful addAll
 void testAddAllSelf()
          addAll(this) throws IAE
 void testAddNull()
          add(null) throws NPE
 void testBlockingTake()
          Take removes existing elements until empty, then blocks interruptibly
 void testClear()
          clear removes all elements
 void testConstructor1()
          A new queue has unbounded capacity
 void testConstructor3()
          Initializing from null Collection throws NPE
 void testConstructor4()
          Initializing from Collection of null elements throws NPE
 void testConstructor5()
          Initializing from Collection with some null elements throws NPE
 void testConstructor6()
          Queue contains all elements of collection used to initialize
 void testContains()
          contains(x) reports true when elements added but not yet removed
 void testContainsAll()
          containsAll(c) is true when c contains a subset of elements
 void testDelay()
          Delayed actions do not occur until their delay elapses
 void testDrainTo()
          drainTo(c) empties queue into another collection c
 void testDrainToN()
          drainTo(c, n) empties first min(n, size) elements of queue into c
 void testDrainToNull()
          drainTo(null) throws NPE
 void testDrainToNullN()
          drainTo(null, n) throws NPE
 void testDrainToSelf()
          drainTo(this) throws IAE
 void testDrainToSelfN()
          drainTo(this, n) throws IAE
 void testDrainToWithActivePut()
          drainTo empties queue
 void testElement()
          element returns next element, or throws NSEE if empty
 void testEmpty()
          isEmpty is true before add, false after
 void testInterruptedTimedPoll()
          Interrupted timed poll throws InterruptedException instead of returning timeout status
 void testIterator()
          iterator iterates through all elements
 void testIteratorRemove()
          iterator.remove removes current element
 void testOffer()
          offer non-null succeeds
 void testOfferNull()
          offer(null) throws NPE
 void testPeek()
          peek returns next element, or null if empty
 void testPeekDelayed()
          peek of a non-empty queue returns non-null even if not expired
 void testPoll()
          poll succeeds unless empty
 void testPollDelayed()
          poll of a non-empty queue returns null if no expired elements.
 void testPollInExecutor()
          offer transfers elements across Executor tasks
 void testPut()
          all elements successfully put are contained
 void testPutNull()
          put(null) throws NPE
 void testPutWithTake()
          put doesn't block waiting for take
 void testRemainingCapacity()
          remainingCapacity does not change when elements added or removed, but size does
 void testRemove()
          remove removes next element, or throws NSEE if empty
 void testRemoveAll()
          removeAll(c) removes only those elements of c and reports true if changed
 void testRemoveElement()
          remove(x) removes x and returns true if present
 void testRetainAll()
          retainAll(c) retains only those elements of c and reports true if changed
 void testTake()
          take retrieves elements in priority order
 void testTakeFromEmptyBlocksInterruptibly()
          take blocks interruptibly when empty
 void testTimedOffer()
          timed offer does not time out
 void testTimedPoll()
          timed poll with nonzero timeout succeeds when non-empty, else times out
 void testTimedPoll0()
          timed poll with zero timeout succeeds when non-empty, else times out
 void testTimedPollDelayed()
          timed poll of a non-empty queue returns null if no expired elements.
 void testTimedPollWithOffer()
          timed poll before a delayed offer fails; after offer succeeds; on interruption throws
 void testToArray_NullArg()
          toArray(null) throws NullPointerException
 void testToArray()
          toArray contains all elements
 void testToArray1_BadArg()
          toArray(incompatible array type) throws ArrayStoreException
 void testToArray2()
          toArray(a) contains all elements
 void testToString()
          toString contains toStrings of elements
 
Methods inherited from class JSR166TestCase
assertThreadJoinTimesOut, awaiter, checkEmpty, delay, getShortDelay, joinPool, latchAwaitingStringTask, newTestSuite, permissivePolicy, possiblyInterruptedRunnable, runTest, runTestProfiled, runWithoutPermissions, runWithPermissions, setDelays, setUp, shouldThrow, shouldThrow, tearDown, threadAssertEquals, threadAssertEquals, threadAssertFalse, threadAssertNull, threadAssertSame, threadAssertTrue, threadFail, threadRecordFailure, threadShouldThrow, threadShouldThrow, threadUnexpectedException, trackedRunnable
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, setName, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DelayQueueTest

public DelayQueueTest()
Method Detail

main

public static void main(java.lang.String[] args)

suite

public static junit.framework.Test suite()

testConstructor1

public void testConstructor1()
A new queue has unbounded capacity


testConstructor3

public void testConstructor3()
Initializing from null Collection throws NPE


testConstructor4

public void testConstructor4()
Initializing from Collection of null elements throws NPE


testConstructor5

public void testConstructor5()
Initializing from Collection with some null elements throws NPE


testConstructor6

public void testConstructor6()
Queue contains all elements of collection used to initialize


testEmpty

public void testEmpty()
isEmpty is true before add, false after


testRemainingCapacity

public void testRemainingCapacity()
remainingCapacity does not change when elements added or removed, but size does


testOfferNull

public void testOfferNull()
offer(null) throws NPE


testAddNull

public void testAddNull()
add(null) throws NPE


testOffer

public void testOffer()
offer non-null succeeds


testAdd

public void testAdd()
add succeeds


testAddAll1

public void testAddAll1()
addAll(null) throws NPE


testAddAllSelf

public void testAddAllSelf()
addAll(this) throws IAE


testAddAll2

public void testAddAll2()
addAll of a collection with null elements throws NPE


testAddAll3

public void testAddAll3()
addAll of a collection with any null elements throws NPE after possibly adding some elements


testAddAll5

public void testAddAll5()
Queue contains all elements of successful addAll


testPutNull

public void testPutNull()
put(null) throws NPE


testPut

public void testPut()
all elements successfully put are contained


testPutWithTake

public void testPutWithTake()
                     throws java.lang.InterruptedException
put doesn't block waiting for take

Throws:
java.lang.InterruptedException

testTimedOffer

public void testTimedOffer()
                    throws java.lang.InterruptedException
timed offer does not time out

Throws:
java.lang.InterruptedException

testTake

public void testTake()
              throws java.lang.InterruptedException
take retrieves elements in priority order

Throws:
java.lang.InterruptedException

testTakeFromEmptyBlocksInterruptibly

public void testTakeFromEmptyBlocksInterruptibly()
                                          throws java.lang.InterruptedException
take blocks interruptibly when empty

Throws:
java.lang.InterruptedException

testBlockingTake

public void testBlockingTake()
                      throws java.lang.InterruptedException
Take removes existing elements until empty, then blocks interruptibly

Throws:
java.lang.InterruptedException

testPoll

public void testPoll()
poll succeeds unless empty


testTimedPoll0

public void testTimedPoll0()
                    throws java.lang.InterruptedException
timed poll with zero timeout succeeds when non-empty, else times out

Throws:
java.lang.InterruptedException

testTimedPoll

public void testTimedPoll()
                   throws java.lang.InterruptedException
timed poll with nonzero timeout succeeds when non-empty, else times out

Throws:
java.lang.InterruptedException

testInterruptedTimedPoll

public void testInterruptedTimedPoll()
                              throws java.lang.InterruptedException
Interrupted timed poll throws InterruptedException instead of returning timeout status

Throws:
java.lang.InterruptedException

testTimedPollWithOffer

public void testTimedPollWithOffer()
                            throws java.lang.InterruptedException
timed poll before a delayed offer fails; after offer succeeds; on interruption throws

Throws:
java.lang.InterruptedException

testPeek

public void testPeek()
peek returns next element, or null if empty


testElement

public void testElement()
element returns next element, or throws NSEE if empty


testRemove

public void testRemove()
remove removes next element, or throws NSEE if empty


testRemoveElement

public void testRemoveElement()
remove(x) removes x and returns true if present


testContains

public void testContains()
contains(x) reports true when elements added but not yet removed


testClear

public void testClear()
clear removes all elements


testContainsAll

public void testContainsAll()
containsAll(c) is true when c contains a subset of elements


testRetainAll

public void testRetainAll()
retainAll(c) retains only those elements of c and reports true if changed


testRemoveAll

public void testRemoveAll()
removeAll(c) removes only those elements of c and reports true if changed


testToArray

public void testToArray()
                 throws java.lang.InterruptedException
toArray contains all elements

Throws:
java.lang.InterruptedException

testToArray2

public void testToArray2()
toArray(a) contains all elements


testToArray_NullArg

public void testToArray_NullArg()
toArray(null) throws NullPointerException


testToArray1_BadArg

public void testToArray1_BadArg()
toArray(incompatible array type) throws ArrayStoreException


testIterator

public void testIterator()
iterator iterates through all elements


testIteratorRemove

public void testIteratorRemove()
iterator.remove removes current element


testToString

public void testToString()
toString contains toStrings of elements


testPollInExecutor

public void testPollInExecutor()
offer transfers elements across Executor tasks


testDelay

public void testDelay()
               throws java.lang.InterruptedException
Delayed actions do not occur until their delay elapses

Throws:
java.lang.InterruptedException

testPeekDelayed

public void testPeekDelayed()
peek of a non-empty queue returns non-null even if not expired


testPollDelayed

public void testPollDelayed()
poll of a non-empty queue returns null if no expired elements.


testTimedPollDelayed

public void testTimedPollDelayed()
                          throws java.lang.InterruptedException
timed poll of a non-empty queue returns null if no expired elements.

Throws:
java.lang.InterruptedException

testDrainToNull

public void testDrainToNull()
drainTo(null) throws NPE


testDrainToSelf

public void testDrainToSelf()
drainTo(this) throws IAE


testDrainTo

public void testDrainTo()
drainTo(c) empties queue into another collection c


testDrainToWithActivePut

public void testDrainToWithActivePut()
                              throws java.lang.InterruptedException
drainTo empties queue

Throws:
java.lang.InterruptedException

testDrainToNullN

public void testDrainToNullN()
drainTo(null, n) throws NPE


testDrainToSelfN

public void testDrainToSelfN()
drainTo(this, n) throws IAE


testDrainToN

public void testDrainToN()
drainTo(c, n) empties first min(n, size) elements of queue into c