30 |
|
|
31 |
|
public static class Bounded extends BlockingQueueTest { |
32 |
|
protected BlockingQueue emptyCollection() { |
33 |
< |
return new LinkedBlockingQueue(20); |
33 |
> |
return new LinkedBlockingQueue(SIZE); |
34 |
|
} |
35 |
|
} |
36 |
|
|
45 |
|
} |
46 |
|
|
47 |
|
/** |
48 |
< |
* Create a queue of given size containing consecutive |
48 |
> |
* Returns a new queue of given size containing consecutive |
49 |
|
* Integers 0 ... n. |
50 |
|
*/ |
51 |
|
private LinkedBlockingQueue<Integer> populatedQueue(int n) { |
312 |
|
}}); |
313 |
|
|
314 |
|
await(pleaseTake); |
315 |
< |
assertEquals(q.remainingCapacity(), 0); |
315 |
> |
assertEquals(0, q.remainingCapacity()); |
316 |
|
assertEquals(0, q.take()); |
317 |
|
|
318 |
|
await(pleaseInterrupt); |
319 |
|
assertThreadStaysAlive(t); |
320 |
|
t.interrupt(); |
321 |
|
awaitTermination(t); |
322 |
< |
assertEquals(q.remainingCapacity(), 0); |
322 |
> |
assertEquals(0, q.remainingCapacity()); |
323 |
|
} |
324 |
|
|
325 |
|
/** |
504 |
|
} |
505 |
|
|
506 |
|
/** |
507 |
– |
* remove(x) removes x and returns true if present |
508 |
– |
*/ |
509 |
– |
public void testRemoveElement() { |
510 |
– |
LinkedBlockingQueue q = populatedQueue(SIZE); |
511 |
– |
for (int i = 1; i < SIZE; i+=2) { |
512 |
– |
assertTrue(q.contains(i)); |
513 |
– |
assertTrue(q.remove(i)); |
514 |
– |
assertFalse(q.contains(i)); |
515 |
– |
assertTrue(q.contains(i-1)); |
516 |
– |
} |
517 |
– |
for (int i = 0; i < SIZE; i+=2) { |
518 |
– |
assertTrue(q.contains(i)); |
519 |
– |
assertTrue(q.remove(i)); |
520 |
– |
assertFalse(q.contains(i)); |
521 |
– |
assertFalse(q.remove(i+1)); |
522 |
– |
assertFalse(q.contains(i+1)); |
523 |
– |
} |
524 |
– |
assertTrue(q.isEmpty()); |
525 |
– |
} |
526 |
– |
|
527 |
– |
/** |
507 |
|
* An add following remove(x) succeeds |
508 |
|
*/ |
509 |
|
public void testRemoveElementAndAdd() throws InterruptedException { |
513 |
|
assertTrue(q.remove(new Integer(1))); |
514 |
|
assertTrue(q.remove(new Integer(2))); |
515 |
|
assertTrue(q.add(new Integer(3))); |
516 |
< |
assertTrue(q.take() != null); |
516 |
> |
assertNotNull(q.take()); |
517 |
|
} |
518 |
|
|
519 |
|
/** |
755 |
|
Queue x = populatedQueue(SIZE); |
756 |
|
Queue y = serialClone(x); |
757 |
|
|
758 |
< |
assertTrue(x != y); |
758 |
> |
assertNotSame(x, y); |
759 |
|
assertEquals(x.size(), y.size()); |
760 |
|
assertEquals(x.toString(), y.toString()); |
761 |
|
assertTrue(Arrays.equals(x.toArray(), y.toArray())); |
773 |
|
LinkedBlockingQueue q = populatedQueue(SIZE); |
774 |
|
ArrayList l = new ArrayList(); |
775 |
|
q.drainTo(l); |
776 |
< |
assertEquals(q.size(), 0); |
777 |
< |
assertEquals(l.size(), SIZE); |
776 |
> |
assertEquals(0, q.size()); |
777 |
> |
assertEquals(SIZE, l.size()); |
778 |
|
for (int i = 0; i < SIZE; ++i) |
779 |
|
assertEquals(l.get(i), new Integer(i)); |
780 |
|
q.add(zero); |
784 |
|
assertTrue(q.contains(one)); |
785 |
|
l.clear(); |
786 |
|
q.drainTo(l); |
787 |
< |
assertEquals(q.size(), 0); |
788 |
< |
assertEquals(l.size(), 2); |
787 |
> |
assertEquals(0, q.size()); |
788 |
> |
assertEquals(2, l.size()); |
789 |
|
for (int i = 0; i < 2; ++i) |
790 |
|
assertEquals(l.get(i), new Integer(i)); |
791 |
|
} |
821 |
|
ArrayList l = new ArrayList(); |
822 |
|
q.drainTo(l, i); |
823 |
|
int k = (i < SIZE) ? i : SIZE; |
824 |
< |
assertEquals(l.size(), k); |
825 |
< |
assertEquals(q.size(), SIZE-k); |
824 |
> |
assertEquals(k, l.size()); |
825 |
> |
assertEquals(SIZE-k, q.size()); |
826 |
|
for (int j = 0; j < k; ++j) |
827 |
|
assertEquals(l.get(j), new Integer(j)); |
828 |
|
while (q.poll() != null) ; |