ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/BlockingQueueTest.java
(Generate patch)

Comparing jsr166/src/test/tck/BlockingQueueTest.java (file contents):
Revision 1.8 by jsr166, Mon May 30 22:43:20 2011 UTC vs.
Revision 1.10 by jsr166, Tue Jun 14 03:22:38 2011 UTC

# Line 8 | Line 8
8   */
9  
10   import junit.framework.*;
11 + import java.util.ArrayList;
12   import java.util.Arrays;
13   import java.util.Collection;
14   import java.util.Queue;
# Line 39 | Line 40 | public abstract class BlockingQueueTest
40      //----------------------------------------------------------------
41      // Configuration methods
42      //----------------------------------------------------------------
43 <    
43 >
44      /** Returns an empty instance of the implementation class. */
45      protected abstract BlockingQueue emptyCollection();
46  
# Line 54 | Line 55 | public abstract class BlockingQueueTest
55      //----------------------------------------------------------------
56      // Tests
57      //----------------------------------------------------------------
58 <    
58 >
59      /**
60       * offer(null) throws NullPointerException
61       */
# Line 180 | Line 181 | public abstract class BlockingQueueTest
181      }
182  
183      /**
184 +     * drainTo(c, -n) returns 0
185 +     */
186 +    public void testDrainToNegativeMaxElements() {
187 +        final BlockingQueue q = emptyCollection();
188 +        assertEquals(0, q.drainTo(new ArrayList(), -42));
189 +    }
190 +
191 +    /**
192 +     * drainTo(c, 0) returns 0 and does nothing
193 +     */
194 +    public void testDrainToZeroMaxElements() {
195 +        final BlockingQueue q = emptyCollection();
196 +        if (q.remainingCapacity() == 0) {
197 +            // SynchronousQueue, for example
198 +            assertEquals(0, q.drainTo(new ArrayList(), 0));
199 +        } else {
200 +            Object one = makeElement(1);
201 +            q.add(one);
202 +            ArrayList c = new ArrayList();
203 +            assertEquals(0, q.drainTo(c, 0));
204 +            assertEquals(1, q.size());
205 +            assertSame(one, q.poll());
206 +            assertTrue(c.isEmpty());
207 +        }
208 +    }
209 +
210 +    /**
211       * timed poll before a delayed offer times out; after offer succeeds;
212       * on interruption throws
213       */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines