38 |
|
* Create a deque of given size containing consecutive |
39 |
|
* Integers 0 ... n. |
40 |
|
*/ |
41 |
< |
private LinkedBlockingDeque populatedDeque(int n) { |
42 |
< |
LinkedBlockingDeque q = new LinkedBlockingDeque(n); |
41 |
> |
private LinkedBlockingDeque<Integer> populatedDeque(int n) { |
42 |
> |
LinkedBlockingDeque<Integer> q = |
43 |
> |
new LinkedBlockingDeque<Integer>(n); |
44 |
|
assertTrue(q.isEmpty()); |
45 |
|
for (int i = 0; i < n; i++) |
46 |
|
assertTrue(q.offer(new Integer(i))); |
1208 |
|
public void testRemoveElement() { |
1209 |
|
LinkedBlockingDeque q = populatedDeque(SIZE); |
1210 |
|
for (int i = 1; i < SIZE; i+=2) { |
1211 |
< |
assertTrue(q.remove(new Integer(i))); |
1211 |
> |
assertTrue(q.contains(i)); |
1212 |
> |
assertTrue(q.remove(i)); |
1213 |
> |
assertFalse(q.contains(i)); |
1214 |
> |
assertTrue(q.contains(i-1)); |
1215 |
|
} |
1216 |
|
for (int i = 0; i < SIZE; i+=2) { |
1217 |
< |
assertTrue(q.remove(new Integer(i))); |
1218 |
< |
assertFalse(q.remove(new Integer(i+1))); |
1217 |
> |
assertTrue(q.contains(i)); |
1218 |
> |
assertTrue(q.remove(i)); |
1219 |
> |
assertFalse(q.contains(i)); |
1220 |
> |
assertFalse(q.remove(i+1)); |
1221 |
> |
assertFalse(q.contains(i+1)); |
1222 |
|
} |
1223 |
|
assertTrue(q.isEmpty()); |
1224 |
|
} |
1301 |
|
} |
1302 |
|
|
1303 |
|
/** |
1304 |
< |
* toArray contains all elements |
1304 |
> |
* toArray contains all elements in FIFO order |
1305 |
|
*/ |
1306 |
|
public void testToArray() throws InterruptedException{ |
1307 |
|
LinkedBlockingDeque q = populatedDeque(SIZE); |
1308 |
|
Object[] o = q.toArray(); |
1309 |
|
for (int i = 0; i < o.length; i++) |
1310 |
< |
assertEquals(o[i], q.take()); |
1310 |
> |
assertSame(o[i], q.poll()); |
1311 |
|
} |
1312 |
|
|
1313 |
|
/** |
1314 |
< |
* toArray(a) contains all elements |
1314 |
> |
* toArray(a) contains all elements in FIFO order |
1315 |
|
*/ |
1316 |
< |
public void testToArray2() throws InterruptedException { |
1317 |
< |
LinkedBlockingDeque q = populatedDeque(SIZE); |
1316 |
> |
public void testToArray2() { |
1317 |
> |
LinkedBlockingDeque<Integer> q = populatedDeque(SIZE); |
1318 |
|
Integer[] ints = new Integer[SIZE]; |
1319 |
< |
ints = (Integer[])q.toArray(ints); |
1319 |
> |
Integer[] array = q.toArray(ints); |
1320 |
> |
assertSame(ints, array); |
1321 |
|
for (int i = 0; i < ints.length; i++) |
1322 |
< |
assertEquals(ints[i], q.take()); |
1322 |
> |
assertSame(ints[i], q.remove()); |
1323 |
|
} |
1324 |
|
|
1325 |
|
/** |
1326 |
< |
* toArray(null) throws NPE |
1326 |
> |
* toArray(null) throws NullPointerException |
1327 |
|
*/ |
1328 |
< |
public void testToArray_BadArg() { |
1328 |
> |
public void testToArray_NullArg() { |
1329 |
|
LinkedBlockingDeque q = populatedDeque(SIZE); |
1330 |
|
try { |
1331 |
< |
Object o[] = q.toArray(null); |
1331 |
> |
q.toArray(null); |
1332 |
|
shouldThrow(); |
1333 |
|
} catch (NullPointerException success) {} |
1334 |
|
} |