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

Comparing jsr166/src/test/tck/ArrayDequeTest.java (file contents):
Revision 1.3 by dl, Thu Sep 15 16:55:48 2005 UTC vs.
Revision 1.4 by dl, Sat Sep 17 12:50:49 2005 UTC

# Line 528 | Line 528 | public class ArrayDequeTest extends JSR1
528       */
529      public void testIteratorRemove () {
530          final ArrayDeque q = new ArrayDeque();
531 +        final Random rng = new Random();
532          for (int iters = 0; iters < 100; ++iters) {
533 <            q.add(new Integer(1));
534 <            q.add(new Integer(2));
535 <            q.add(new Integer(3));
533 >            int max = rng.nextInt(5) + 2;
534 >            int split = rng.nextInt(max-1) + 1;
535 >            for (int j = 1; j <= max; ++j)
536 >                q.add(new Integer(j));
537              Iterator it = q.iterator();
538 <            assertEquals(it.next(), new Integer(1));
538 >            for (int j = 1; j <= split; ++j)
539 >                assertEquals(it.next(), new Integer(j));
540              it.remove();
541 <            assertEquals(it.next(), new Integer(2));
541 >            assertEquals(it.next(), new Integer(split+1));
542 >            for (int j = 1; j <= split; ++j)
543 >                q.remove(new Integer(j));
544              it = q.iterator();
545 <            assertEquals(it.next(), new Integer(2));
546 <            assertEquals(it.next(), new Integer(3));
547 <            it.remove();
545 >            for (int j = split+1; j <= max; ++j) {
546 >                assertEquals(it.next(), new Integer(j));
547 >                it.remove();
548 >            }
549              assertFalse(it.hasNext());
550 <            q.remove();
550 >            assertTrue(q.isEmpty());
551          }
552      }
553  
# Line 591 | Line 597 | public class ArrayDequeTest extends JSR1
597       */
598      public void testDescendingIteratorRemove () {
599          final ArrayDeque q = new ArrayDeque();
600 +        final Random rng = new Random();
601          for (int iters = 0; iters < 100; ++iters) {
602 <            q.add(new Integer(3));
603 <            q.add(new Integer(2));
604 <            q.add(new Integer(1));
602 >            int max = rng.nextInt(5) + 2;
603 >            int split = rng.nextInt(max-1) + 1;
604 >            for (int j = max; j >= 1; --j)
605 >                q.add(new Integer(j));
606              Iterator it = q.descendingIterator();
607 <            assertEquals(it.next(), new Integer(1));
607 >            for (int j = 1; j <= split; ++j)
608 >                assertEquals(it.next(), new Integer(j));
609              it.remove();
610 <            assertEquals(it.next(), new Integer(2));
610 >            assertEquals(it.next(), new Integer(split+1));
611 >            for (int j = 1; j <= split; ++j)
612 >                q.remove(new Integer(j));
613              it = q.descendingIterator();
614 <            assertEquals(it.next(), new Integer(2));
615 <            assertEquals(it.next(), new Integer(3));
616 <            it.remove();
614 >            for (int j = split+1; j <= max; ++j) {
615 >                assertEquals(it.next(), new Integer(j));
616 >                it.remove();
617 >            }
618              assertFalse(it.hasNext());
619 <            q.remove();
619 >            assertTrue(q.isEmpty());
620          }
621      }
622  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines