12 |
|
import java.util.Collection; |
13 |
|
import java.util.Iterator; |
14 |
|
import java.util.NoSuchElementException; |
15 |
+ |
import java.util.Queue; |
16 |
|
import java.util.concurrent.BlockingQueue; |
17 |
|
import java.util.concurrent.CountDownLatch; |
18 |
|
import java.util.concurrent.Executors; |
19 |
|
import java.util.concurrent.ExecutorService; |
20 |
|
import java.util.concurrent.SynchronousQueue; |
21 |
|
import static java.util.concurrent.TimeUnit.MILLISECONDS; |
21 |
– |
import java.io.*; |
22 |
|
|
23 |
|
public class SynchronousQueueTest extends JSR166TestCase { |
24 |
|
|
322 |
|
} |
323 |
|
|
324 |
|
/** |
325 |
– |
* remove(x) returns false |
326 |
– |
*/ |
327 |
– |
public void testRemoveElement() { testRemoveElement(false); } |
328 |
– |
public void testRemoveElement_fair() { testRemoveElement(true); } |
329 |
– |
public void testRemoveElement(boolean fair) { |
330 |
– |
final SynchronousQueue q = new SynchronousQueue(fair); |
331 |
– |
assertFalse(q.remove(zero)); |
332 |
– |
assertTrue(q.isEmpty()); |
333 |
– |
} |
334 |
– |
|
335 |
– |
/** |
325 |
|
* contains returns false |
326 |
|
*/ |
327 |
|
public void testContains() { testContains(false); } |
515 |
|
public void testSerialization() { testSerialization(false); } |
516 |
|
public void testSerialization_fair() { testSerialization(true); } |
517 |
|
public void testSerialization(boolean fair) { |
518 |
< |
final SynchronousQueue q = new SynchronousQueue(fair); |
519 |
< |
final SynchronousQueue r = serialClone(q); |
520 |
< |
assertTrue(q != r); |
521 |
< |
assertEquals(q.size(), r.size()); |
522 |
< |
while (!q.isEmpty()) |
534 |
< |
assertEquals(q.remove(), r.remove()); |
518 |
> |
final SynchronousQueue x = new SynchronousQueue(fair); |
519 |
> |
final SynchronousQueue y = serialClone(x); |
520 |
> |
assertTrue(x != y); |
521 |
> |
assertTrue(x.isEmpty()); |
522 |
> |
assertTrue(y.isEmpty()); |
523 |
|
} |
524 |
|
|
525 |
|
/** |