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

Comparing jsr166/src/test/tck/LinkedListTest.java (file contents):
Revision 1.49 by jsr166, Fri Jun 22 00:04:58 2018 UTC vs.
Revision 1.50 by dl, Tue Jan 26 13:33:06 2021 UTC

# Line 25 | Line 25 | public class LinkedListTest extends JSR1
25          class Implementation implements CollectionImplementation {
26              public Class<?> klazz() { return LinkedList.class; }
27              public List emptyCollection() { return new LinkedList(); }
28 <            public Object makeElement(int i) { return i; }
28 >            public Object makeElement(int i) { return JSR166TestCase.itemFor(i); }
29              public boolean isConcurrent() { return false; }
30              public boolean permitsNulls() { return true; }
31          }
32          class SubListImplementation extends Implementation {
33 +            @SuppressWarnings("unchecked")
34              public List emptyCollection() {
35                  List list = super.emptyCollection();
36                  ThreadLocalRandom rnd = ThreadLocalRandom.current();
# Line 47 | Line 48 | public class LinkedListTest extends JSR1
48  
49      /**
50       * Returns a new queue of given size containing consecutive
51 <     * Integers 0 ... n - 1.
51 >     * Items 0 ... n - 1.
52       */
53 <    private static LinkedList<Integer> populatedQueue(int n) {
54 <        LinkedList<Integer> q = new LinkedList<>();
53 >    private static LinkedList<Item> populatedQueue(int n) {
54 >        LinkedList<Item> q = new LinkedList<>();
55          assertTrue(q.isEmpty());
56          for (int i = 0; i < n; ++i)
57 <            assertTrue(q.offer(new Integer(i)));
57 >            mustOffer(q, i);
58          assertFalse(q.isEmpty());
59 <        assertEquals(n, q.size());
60 <        assertEquals((Integer) 0, q.peekFirst());
61 <        assertEquals((Integer) (n - 1), q.peekLast());
59 >        mustEqual(n, q.size());
60 >        mustEqual(0, q.peekFirst());
61 >        mustEqual((n - 1), q.peekLast());
62          return q;
63      }
64  
# Line 65 | Line 66 | public class LinkedListTest extends JSR1
66       * new queue is empty
67       */
68      public void testConstructor1() {
69 <        assertEquals(0, new LinkedList().size());
69 >        mustEqual(0, new LinkedList<Item>().size());
70      }
71  
72      /**
# Line 73 | Line 74 | public class LinkedListTest extends JSR1
74       */
75      public void testConstructor3() {
76          try {
77 <            new LinkedList((Collection)null);
77 >            new LinkedList<Item>((Collection<Item>)null);
78              shouldThrow();
79          } catch (NullPointerException success) {}
80      }
# Line 82 | Line 83 | public class LinkedListTest extends JSR1
83       * Queue contains all elements of collection used to initialize
84       */
85      public void testConstructor6() {
86 <        Integer[] ints = new Integer[SIZE];
86 >        Item[] items = defaultItems;
87 >        LinkedList<Item> q = new LinkedList<Item>(Arrays.asList(items));
88          for (int i = 0; i < SIZE; ++i)
89 <            ints[i] = i;
88 <        LinkedList q = new LinkedList(Arrays.asList(ints));
89 <        for (int i = 0; i < SIZE; ++i)
90 <            assertEquals(ints[i], q.poll());
89 >            mustEqual(items[i], q.poll());
90      }
91  
92      /**
93       * isEmpty is true before add, false after
94       */
95      public void testEmpty() {
96 <        LinkedList q = new LinkedList();
96 >        LinkedList<Item> q = new LinkedList<Item>();
97          assertTrue(q.isEmpty());
98 <        q.add(new Integer(1));
98 >        q.add(one);
99          assertFalse(q.isEmpty());
100 <        q.add(new Integer(2));
100 >        q.add(two);
101          q.remove();
102          q.remove();
103          assertTrue(q.isEmpty());
# Line 108 | Line 107 | public class LinkedListTest extends JSR1
107       * size changes when elements added and removed
108       */
109      public void testSize() {
110 <        LinkedList q = populatedQueue(SIZE);
110 >        LinkedList<Item> q = populatedQueue(SIZE);
111          for (int i = 0; i < SIZE; ++i) {
112 <            assertEquals(SIZE - i, q.size());
112 >            mustEqual(SIZE - i, q.size());
113              q.remove();
114          }
115          for (int i = 0; i < SIZE; ++i) {
116 <            assertEquals(i, q.size());
117 <            q.add(new Integer(i));
116 >            mustEqual(i, q.size());
117 >            mustAdd(q, i);
118          }
119      }
120  
# Line 123 | Line 122 | public class LinkedListTest extends JSR1
122       * offer(null) succeeds
123       */
124      public void testOfferNull() {
125 <        LinkedList q = new LinkedList();
125 >        LinkedList<Item> q = new LinkedList<Item>();
126          q.offer(null);
127          assertNull(q.get(0));
128          assertTrue(q.contains(null));
# Line 133 | Line 132 | public class LinkedListTest extends JSR1
132       * Offer succeeds
133       */
134      public void testOffer() {
135 <        LinkedList q = new LinkedList();
136 <        assertTrue(q.offer(new Integer(0)));
137 <        assertTrue(q.offer(new Integer(1)));
135 >        LinkedList<Item> q = new LinkedList<Item>();
136 >        mustOffer(q, zero);
137 >        mustOffer(q, one);
138      }
139  
140      /**
141       * add succeeds
142       */
143      public void testAdd() {
144 <        LinkedList q = new LinkedList();
144 >        LinkedList<Item> q = new LinkedList<Item>();
145          for (int i = 0; i < SIZE; ++i) {
146 <            assertEquals(i, q.size());
147 <            assertTrue(q.add(new Integer(i)));
146 >            mustEqual(i, q.size());
147 >            mustAdd(q, i);
148          }
149      }
150  
# Line 153 | Line 152 | public class LinkedListTest extends JSR1
152       * addAll(null) throws NPE
153       */
154      public void testAddAll1() {
155 <        LinkedList q = new LinkedList();
155 >        LinkedList<Item> q = new LinkedList<Item>();
156          try {
157              q.addAll(null);
158              shouldThrow();
# Line 164 | Line 163 | public class LinkedListTest extends JSR1
163       * Queue contains all elements, in traversal order, of successful addAll
164       */
165      public void testAddAll5() {
166 <        Integer[] empty = new Integer[0];
167 <        Integer[] ints = new Integer[SIZE];
168 <        for (int i = 0; i < SIZE; ++i)
170 <            ints[i] = i;
171 <        LinkedList q = new LinkedList();
166 >        Item[] empty = new Item[0];
167 >        Item[] items = defaultItems;
168 >        LinkedList<Item> q = new LinkedList<Item>();
169          assertFalse(q.addAll(Arrays.asList(empty)));
170 <        assertTrue(q.addAll(Arrays.asList(ints)));
170 >        assertTrue(q.addAll(Arrays.asList(items)));
171          for (int i = 0; i < SIZE; ++i)
172 <            assertEquals(ints[i], q.poll());
172 >            mustEqual(items[i], q.poll());
173      }
174  
175      /**
176       * addAll with too large an index throws IOOBE
177       */
178      public void testAddAll2_IndexOutOfBoundsException() {
179 <        LinkedList l = new LinkedList();
180 <        l.add(new Object());
181 <        LinkedList m = new LinkedList();
182 <        m.add(new Object());
179 >        LinkedList<Item> l = new LinkedList<Item>();
180 >        l.add(zero);
181 >        LinkedList<Item> m = new LinkedList<Item>();
182 >        m.add(one);
183          try {
184              l.addAll(4,m);
185              shouldThrow();
# Line 193 | Line 190 | public class LinkedListTest extends JSR1
190       * addAll with negative index throws IOOBE
191       */
192      public void testAddAll4_BadIndex() {
193 <        LinkedList l = new LinkedList();
194 <        l.add(new Object());
195 <        LinkedList m = new LinkedList();
196 <        m.add(new Object());
193 >        LinkedList<Item> l = new LinkedList<Item>();
194 >        l.add(zero);
195 >        LinkedList<Item> m = new LinkedList<Item>();
196 >        m.add(one);
197          try {
198              l.addAll(-1,m);
199              shouldThrow();
# Line 207 | Line 204 | public class LinkedListTest extends JSR1
204       * poll succeeds unless empty
205       */
206      public void testPoll() {
207 <        LinkedList q = populatedQueue(SIZE);
207 >        LinkedList<Item> q = populatedQueue(SIZE);
208          for (int i = 0; i < SIZE; ++i) {
209 <            assertEquals(i, q.poll());
209 >            mustEqual(i, q.poll());
210          }
211          assertNull(q.poll());
212      }
# Line 218 | Line 215 | public class LinkedListTest extends JSR1
215       * peek returns next element, or null if empty
216       */
217      public void testPeek() {
218 <        LinkedList q = populatedQueue(SIZE);
218 >        LinkedList<Item> q = populatedQueue(SIZE);
219          for (int i = 0; i < SIZE; ++i) {
220 <            assertEquals(i, q.peek());
221 <            assertEquals(i, q.poll());
220 >            mustEqual(i, q.peek());
221 >            mustEqual(i, q.poll());
222              assertTrue(q.peek() == null ||
223                         !q.peek().equals(i));
224          }
# Line 232 | Line 229 | public class LinkedListTest extends JSR1
229       * element returns next element, or throws NSEE if empty
230       */
231      public void testElement() {
232 <        LinkedList q = populatedQueue(SIZE);
232 >        LinkedList<Item> q = populatedQueue(SIZE);
233          for (int i = 0; i < SIZE; ++i) {
234 <            assertEquals(i, q.element());
235 <            assertEquals(i, q.poll());
234 >            mustEqual(i, q.element());
235 >            mustEqual(i, q.poll());
236          }
237          try {
238              q.element();
# Line 247 | Line 244 | public class LinkedListTest extends JSR1
244       * remove removes next element, or throws NSEE if empty
245       */
246      public void testRemove() {
247 <        LinkedList q = populatedQueue(SIZE);
247 >        LinkedList<Item> q = populatedQueue(SIZE);
248          for (int i = 0; i < SIZE; ++i) {
249 <            assertEquals(i, q.remove());
249 >            mustEqual(i, q.remove());
250          }
251          try {
252              q.remove();
# Line 261 | Line 258 | public class LinkedListTest extends JSR1
258       * remove(x) removes x and returns true if present
259       */
260      public void testRemoveElement() {
261 <        LinkedList q = populatedQueue(SIZE);
261 >        LinkedList<Item> q = populatedQueue(SIZE);
262          for (int i = 1; i < SIZE; i += 2) {
263 <            assertTrue(q.contains(i));
264 <            assertTrue(q.remove((Integer)i));
265 <            assertFalse(q.contains(i));
266 <            assertTrue(q.contains(i - 1));
263 >            mustContain(q, i);
264 >            mustRemove(q, i);
265 >            mustNotContain(q, i);
266 >            mustContain(q, i - 1);
267          }
268          for (int i = 0; i < SIZE; i += 2) {
269 <            assertTrue(q.contains(i));
270 <            assertTrue(q.remove((Integer)i));
271 <            assertFalse(q.contains(i));
272 <            assertFalse(q.remove((Integer)(i + 1)));
273 <            assertFalse(q.contains(i + 1));
269 >            mustContain(q, i);
270 >            mustRemove(q, i);
271 >            mustNotContain(q, i);
272 >            mustNotRemove(q, i + 1);
273 >            mustNotContain(q, i + 1);
274          }
275          assertTrue(q.isEmpty());
276      }
# Line 282 | Line 279 | public class LinkedListTest extends JSR1
279       * contains(x) reports true when elements added but not yet removed
280       */
281      public void testContains() {
282 <        LinkedList q = populatedQueue(SIZE);
282 >        LinkedList<Item> q = populatedQueue(SIZE);
283          for (int i = 0; i < SIZE; ++i) {
284 <            assertTrue(q.contains(new Integer(i)));
284 >            mustContain(q, i);
285              q.poll();
286 <            assertFalse(q.contains(new Integer(i)));
286 >            mustNotContain(q, i);
287          }
288      }
289  
# Line 294 | Line 291 | public class LinkedListTest extends JSR1
291       * clear removes all elements
292       */
293      public void testClear() {
294 <        LinkedList q = populatedQueue(SIZE);
294 >        LinkedList<Item> q = populatedQueue(SIZE);
295          q.clear();
296          assertTrue(q.isEmpty());
297 <        assertEquals(0, q.size());
298 <        assertTrue(q.add(new Integer(1)));
297 >        mustEqual(0, q.size());
298 >        mustAdd(q, one);
299          assertFalse(q.isEmpty());
300          q.clear();
301          assertTrue(q.isEmpty());
# Line 308 | Line 305 | public class LinkedListTest extends JSR1
305       * containsAll(c) is true when c contains a subset of elements
306       */
307      public void testContainsAll() {
308 <        LinkedList q = populatedQueue(SIZE);
309 <        LinkedList p = new LinkedList();
308 >        LinkedList<Item> q = populatedQueue(SIZE);
309 >        LinkedList<Item> p = new LinkedList<Item>();
310          for (int i = 0; i < SIZE; ++i) {
311              assertTrue(q.containsAll(p));
312              assertFalse(p.containsAll(q));
313 <            assertTrue(p.add(new Integer(i)));
313 >            mustAdd(p, i);
314          }
315          assertTrue(p.containsAll(q));
316      }
# Line 322 | Line 319 | public class LinkedListTest extends JSR1
319       * retainAll(c) retains only those elements of c and reports true if changed
320       */
321      public void testRetainAll() {
322 <        LinkedList q = populatedQueue(SIZE);
323 <        LinkedList p = populatedQueue(SIZE);
322 >        LinkedList<Item> q = populatedQueue(SIZE);
323 >        LinkedList<Item> p = populatedQueue(SIZE);
324          for (int i = 0; i < SIZE; ++i) {
325              boolean changed = q.retainAll(p);
326              if (i == 0)
# Line 332 | Line 329 | public class LinkedListTest extends JSR1
329                  assertTrue(changed);
330  
331              assertTrue(q.containsAll(p));
332 <            assertEquals(SIZE - i, q.size());
332 >            mustEqual(SIZE - i, q.size());
333              p.remove();
334          }
335      }
# Line 342 | Line 339 | public class LinkedListTest extends JSR1
339       */
340      public void testRemoveAll() {
341          for (int i = 1; i < SIZE; ++i) {
342 <            LinkedList q = populatedQueue(SIZE);
343 <            LinkedList p = populatedQueue(i);
342 >            LinkedList<Item> q = populatedQueue(SIZE);
343 >            LinkedList<Item> p = populatedQueue(i);
344              assertTrue(q.removeAll(p));
345 <            assertEquals(SIZE - i, q.size());
345 >            mustEqual(SIZE - i, q.size());
346              for (int j = 0; j < i; ++j) {
347 <                Integer x = (Integer)(p.remove());
351 <                assertFalse(q.contains(x));
347 >                mustNotContain(q, p.remove());
348              }
349          }
350      }
# Line 357 | Line 353 | public class LinkedListTest extends JSR1
353       * toArray contains all elements in FIFO order
354       */
355      public void testToArray() {
356 <        LinkedList q = populatedQueue(SIZE);
356 >        LinkedList<Item> q = populatedQueue(SIZE);
357          Object[] a = q.toArray();
358          assertSame(Object[].class, a.getClass());
359          for (Object o : a)
# Line 369 | Line 365 | public class LinkedListTest extends JSR1
365       * toArray(a) contains all elements in FIFO order
366       */
367      public void testToArray2() {
368 <        LinkedList<Integer> q = populatedQueue(SIZE);
369 <        Integer[] ints = new Integer[SIZE];
370 <        Integer[] array = q.toArray(ints);
371 <        assertSame(ints, array);
372 <        for (Integer o : ints)
368 >        LinkedList<Item> q = populatedQueue(SIZE);
369 >        Item[] items = new Item[SIZE];
370 >        Item[] array = q.toArray(items);
371 >        assertSame(items, array);
372 >        for (Item o : items)
373              assertSame(o, q.poll());
374          assertTrue(q.isEmpty());
375      }
# Line 382 | Line 378 | public class LinkedListTest extends JSR1
378       * toArray(null) throws NullPointerException
379       */
380      public void testToArray_NullArg() {
381 <        LinkedList l = new LinkedList();
382 <        l.add(new Object());
381 >        LinkedList<Item> l = new LinkedList<Item>();
382 >        l.add(zero);
383          try {
384 <            l.toArray((Object[])null);
384 >            l.toArray((Item[])null);
385              shouldThrow();
386          } catch (NullPointerException success) {}
387      }
# Line 394 | Line 390 | public class LinkedListTest extends JSR1
390       * toArray(incompatible array type) throws ArrayStoreException
391       */
392      public void testToArray1_BadArg() {
393 <        LinkedList l = new LinkedList();
394 <        l.add(new Integer(5));
393 >        LinkedList<Item> l = new LinkedList<Item>();
394 >        l.add(five);
395          try {
396              l.toArray(new String[10]);
397              shouldThrow();
# Line 406 | Line 402 | public class LinkedListTest extends JSR1
402       * iterator iterates through all elements
403       */
404      public void testIterator() {
405 <        LinkedList q = populatedQueue(SIZE);
406 <        Iterator it = q.iterator();
405 >        LinkedList<Item> q = populatedQueue(SIZE);
406 >        Iterator<? extends Item> it = q.iterator();
407          int i;
408          for (i = 0; it.hasNext(); i++)
409 <            assertTrue(q.contains(it.next()));
410 <        assertEquals(i, SIZE);
409 >            mustContain(q, it.next());
410 >        mustEqual(i, SIZE);
411          assertIteratorExhausted(it);
412      }
413  
# Line 419 | Line 415 | public class LinkedListTest extends JSR1
415       * iterator of empty collection has no elements
416       */
417      public void testEmptyIterator() {
418 <        assertIteratorExhausted(new LinkedList().iterator());
418 >        assertIteratorExhausted(new LinkedList<Item>().iterator());
419      }
420  
421      /**
422       * iterator ordering is FIFO
423       */
424      public void testIteratorOrdering() {
425 <        final LinkedList q = new LinkedList();
426 <        q.add(new Integer(1));
427 <        q.add(new Integer(2));
428 <        q.add(new Integer(3));
425 >        final LinkedList<Item> q = new LinkedList<Item>();
426 >        q.add(one);
427 >        q.add(two);
428 >        q.add(three);
429          int k = 0;
430 <        for (Iterator it = q.iterator(); it.hasNext();) {
431 <            assertEquals(++k, it.next());
430 >        for (Iterator<? extends Item> it = q.iterator(); it.hasNext();) {
431 >            mustEqual(++k, it.next());
432          }
433  
434 <        assertEquals(3, k);
434 >        mustEqual(3, k);
435      }
436  
437      /**
438       * iterator.remove removes current element
439       */
440      public void testIteratorRemove() {
441 <        final LinkedList q = new LinkedList();
442 <        q.add(new Integer(1));
443 <        q.add(new Integer(2));
444 <        q.add(new Integer(3));
445 <        Iterator it = q.iterator();
446 <        assertEquals(1, it.next());
441 >        final LinkedList<Item> q = new LinkedList<Item>();
442 >        q.add(one);
443 >        q.add(two);
444 >        q.add(three);
445 >        Iterator<? extends Item> it = q.iterator();
446 >        mustEqual(1, it.next());
447          it.remove();
448          it = q.iterator();
449 <        assertEquals(2, it.next());
450 <        assertEquals(3, it.next());
449 >        mustEqual(2, it.next());
450 >        mustEqual(3, it.next());
451          assertFalse(it.hasNext());
452      }
453  
# Line 459 | Line 455 | public class LinkedListTest extends JSR1
455       * Descending iterator iterates through all elements
456       */
457      public void testDescendingIterator() {
458 <        LinkedList q = populatedQueue(SIZE);
458 >        LinkedList<Item> q = populatedQueue(SIZE);
459          int i = 0;
460 <        Iterator it = q.descendingIterator();
460 >        Iterator<? extends Item> it = q.descendingIterator();
461          while (it.hasNext()) {
462 <            assertTrue(q.contains(it.next()));
462 >            mustContain(q, it.next());
463              ++i;
464          }
465 <        assertEquals(i, SIZE);
465 >        mustEqual(i, SIZE);
466          assertFalse(it.hasNext());
467          try {
468              it.next();
# Line 478 | Line 474 | public class LinkedListTest extends JSR1
474       * Descending iterator ordering is reverse FIFO
475       */
476      public void testDescendingIteratorOrdering() {
477 <        final LinkedList q = new LinkedList();
478 <        q.add(new Integer(3));
479 <        q.add(new Integer(2));
480 <        q.add(new Integer(1));
477 >        final LinkedList<Item> q = new LinkedList<Item>();
478 >        q.add(three);
479 >        q.add(two);
480 >        q.add(one);
481          int k = 0;
482 <        for (Iterator it = q.descendingIterator(); it.hasNext();) {
483 <            assertEquals(++k, it.next());
482 >        for (Iterator<? extends Item> it = q.descendingIterator(); it.hasNext();) {
483 >            mustEqual(++k, it.next());
484          }
485  
486 <        assertEquals(3, k);
486 >        mustEqual(3, k);
487      }
488  
489      /**
490       * descendingIterator.remove removes current element
491       */
492      public void testDescendingIteratorRemove() {
493 <        final LinkedList q = new LinkedList();
493 >        final LinkedList<Item> q = new LinkedList<Item>();
494          q.add(three);
495          q.add(two);
496          q.add(one);
497 <        Iterator it = q.descendingIterator();
497 >        Iterator<? extends Item> it = q.descendingIterator();
498          it.next();
499          it.remove();
500          it = q.descendingIterator();
# Line 511 | Line 507 | public class LinkedListTest extends JSR1
507       * toString contains toStrings of elements
508       */
509      public void testToString() {
510 <        LinkedList q = populatedQueue(SIZE);
510 >        LinkedList<Item> q = populatedQueue(SIZE);
511          String s = q.toString();
512          for (int i = 0; i < SIZE; ++i) {
513              assertTrue(s.contains(String.valueOf(i)));
# Line 522 | Line 518 | public class LinkedListTest extends JSR1
518       * peek returns element inserted with addFirst
519       */
520      public void testAddFirst() {
521 <        LinkedList q = populatedQueue(3);
521 >        LinkedList<Item> q = populatedQueue(3);
522          q.addFirst(four);
523          assertSame(four, q.peek());
524      }
# Line 531 | Line 527 | public class LinkedListTest extends JSR1
527       * peekFirst returns element inserted with push
528       */
529      public void testPush() {
530 <        LinkedList q = populatedQueue(3);
530 >        LinkedList<Item> q = populatedQueue(3);
531          q.push(four);
532          assertSame(four, q.peekFirst());
533      }
# Line 540 | Line 536 | public class LinkedListTest extends JSR1
536       * pop removes next element, or throws NSEE if empty
537       */
538      public void testPop() {
539 <        LinkedList q = populatedQueue(SIZE);
539 >        LinkedList<Item> q = populatedQueue(SIZE);
540          for (int i = 0; i < SIZE; ++i) {
541 <            assertEquals(i, q.pop());
541 >            mustEqual(i, q.pop());
542          }
543          try {
544              q.pop();
# Line 554 | Line 550 | public class LinkedListTest extends JSR1
550       * OfferFirst succeeds
551       */
552      public void testOfferFirst() {
553 <        LinkedList q = new LinkedList();
554 <        assertTrue(q.offerFirst(new Integer(0)));
555 <        assertTrue(q.offerFirst(new Integer(1)));
553 >        LinkedList<Item> q = new LinkedList<Item>();
554 >        assertTrue(q.offerFirst(zero));
555 >        assertTrue(q.offerFirst(one));
556      }
557  
558      /**
559       * OfferLast succeeds
560       */
561      public void testOfferLast() {
562 <        LinkedList q = new LinkedList();
563 <        assertTrue(q.offerLast(new Integer(0)));
564 <        assertTrue(q.offerLast(new Integer(1)));
562 >        LinkedList<Item> q = new LinkedList<Item>();
563 >        assertTrue(q.offerLast(zero));
564 >        assertTrue(q.offerLast(one));
565      }
566  
567      /**
568       * pollLast succeeds unless empty
569       */
570      public void testPollLast() {
571 <        LinkedList q = populatedQueue(SIZE);
571 >        LinkedList<Item> q = populatedQueue(SIZE);
572          for (int i = SIZE - 1; i >= 0; --i) {
573 <            assertEquals(i, q.pollLast());
573 >            mustEqual(i, q.pollLast());
574          }
575          assertNull(q.pollLast());
576      }
# Line 583 | Line 579 | public class LinkedListTest extends JSR1
579       * peekFirst returns next element, or null if empty
580       */
581      public void testPeekFirst() {
582 <        LinkedList q = populatedQueue(SIZE);
582 >        LinkedList<Item> q = populatedQueue(SIZE);
583          for (int i = 0; i < SIZE; ++i) {
584 <            assertEquals(i, q.peekFirst());
585 <            assertEquals(i, q.pollFirst());
584 >            mustEqual(i, q.peekFirst());
585 >            mustEqual(i, q.pollFirst());
586              assertTrue(q.peekFirst() == null ||
587                         !q.peekFirst().equals(i));
588          }
# Line 597 | Line 593 | public class LinkedListTest extends JSR1
593       * peekLast returns next element, or null if empty
594       */
595      public void testPeekLast() {
596 <        LinkedList q = populatedQueue(SIZE);
596 >        LinkedList<Item> q = populatedQueue(SIZE);
597          for (int i = SIZE - 1; i >= 0; --i) {
598 <            assertEquals(i, q.peekLast());
599 <            assertEquals(i, q.pollLast());
598 >            mustEqual(i, q.peekLast());
599 >            mustEqual(i, q.pollLast());
600              assertTrue(q.peekLast() == null ||
601                         !q.peekLast().equals(i));
602          }
# Line 608 | Line 604 | public class LinkedListTest extends JSR1
604      }
605  
606      public void testFirstElement() {
607 <        LinkedList q = populatedQueue(SIZE);
607 >        LinkedList<Item> q = populatedQueue(SIZE);
608          for (int i = 0; i < SIZE; ++i) {
609 <            assertEquals(i, q.getFirst());
610 <            assertEquals(i, q.pollFirst());
609 >            mustEqual(i, q.getFirst());
610 >            mustEqual(i, q.pollFirst());
611          }
612          try {
613              q.getFirst();
# Line 623 | Line 619 | public class LinkedListTest extends JSR1
619       * getLast returns next element, or throws NSEE if empty
620       */
621      public void testLastElement() {
622 <        LinkedList q = populatedQueue(SIZE);
622 >        LinkedList<Item> q = populatedQueue(SIZE);
623          for (int i = SIZE - 1; i >= 0; --i) {
624 <            assertEquals(i, q.getLast());
625 <            assertEquals(i, q.pollLast());
624 >            mustEqual(i, q.getLast());
625 >            mustEqual(i, q.pollLast());
626          }
627          try {
628              q.getLast();
# Line 639 | Line 635 | public class LinkedListTest extends JSR1
635       * removeFirstOccurrence(x) removes x and returns true if present
636       */
637      public void testRemoveFirstOccurrence() {
638 <        LinkedList q = populatedQueue(SIZE);
638 >        LinkedList<Item> q = populatedQueue(SIZE);
639          for (int i = 1; i < SIZE; i += 2) {
640 <            assertTrue(q.removeFirstOccurrence(new Integer(i)));
640 >            assertTrue(q.removeFirstOccurrence(itemFor(i)));
641          }
642          for (int i = 0; i < SIZE; i += 2) {
643 <            assertTrue(q.removeFirstOccurrence(new Integer(i)));
644 <            assertFalse(q.removeFirstOccurrence(new Integer(i + 1)));
643 >            assertTrue(q.removeFirstOccurrence(itemFor(i)));
644 >            assertFalse(q.removeFirstOccurrence(itemFor(i + 1)));
645          }
646          assertTrue(q.isEmpty());
647      }
# Line 654 | Line 650 | public class LinkedListTest extends JSR1
650       * removeLastOccurrence(x) removes x and returns true if present
651       */
652      public void testRemoveLastOccurrence() {
653 <        LinkedList q = populatedQueue(SIZE);
653 >        LinkedList<Item> q = populatedQueue(SIZE);
654          for (int i = 1; i < SIZE; i += 2) {
655 <            assertTrue(q.removeLastOccurrence(new Integer(i)));
655 >            assertTrue(q.removeLastOccurrence(itemFor(i)));
656          }
657          for (int i = 0; i < SIZE; i += 2) {
658 <            assertTrue(q.removeLastOccurrence(new Integer(i)));
659 <            assertFalse(q.removeLastOccurrence(new Integer(i + 1)));
658 >            assertTrue(q.removeLastOccurrence(itemFor(i)));
659 >            assertFalse(q.removeLastOccurrence(itemFor(i + 1)));
660          }
661          assertTrue(q.isEmpty());
662      }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines