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.36 by jsr166, Sat May 23 00:53:08 2015 UTC vs.
Revision 1.41 by jsr166, Sun Oct 16 20:44:18 2016 UTC

# Line 22 | Line 22 | public class ArrayDequeTest extends JSR1
22      }
23  
24      public static Test suite() {
25 <        return new TestSuite(ArrayDequeTest.class);
25 >        class Implementation implements CollectionImplementation {
26 >            public Class<?> klazz() { return ArrayDeque.class; }
27 >            public Collection emptyCollection() { return new ArrayDeque(); }
28 >            public Object makeElement(int i) { return i; }
29 >            public boolean isConcurrent() { return false; }
30 >            public boolean permitsNulls() { return false; }
31 >        }
32 >        return newTestSuite(ArrayDequeTest.class,
33 >                            CollectionTest.testSuite(new Implementation()));
34      }
35  
36      /**
37       * Returns a new deque of given size containing consecutive
38 <     * Integers 0 ... n.
38 >     * Integers 0 ... n - 1.
39       */
40      private ArrayDeque<Integer> populatedDeque(int n) {
41          ArrayDeque<Integer> q = new ArrayDeque<Integer>();
# Line 36 | Line 44 | public class ArrayDequeTest extends JSR1
44              assertTrue(q.offerLast(new Integer(i)));
45          assertFalse(q.isEmpty());
46          assertEquals(n, q.size());
47 +        assertEquals((Integer) 0, q.peekFirst());
48 +        assertEquals((Integer) (n - 1), q.peekLast());
49          return q;
50      }
51  
# Line 395 | Line 405 | public class ArrayDequeTest extends JSR1
405              assertTrue(q.contains(i));
406              assertTrue(q.remove(i));
407              assertFalse(q.contains(i));
408 <            assertTrue(q.contains(i-1));
408 >            assertTrue(q.contains(i - 1));
409          }
410          for (int i = 0; i < SIZE; i += 2) {
411              assertTrue(q.contains(i));
412              assertTrue(q.remove(i));
413              assertFalse(q.contains(i));
414 <            assertFalse(q.remove(i+1));
415 <            assertFalse(q.contains(i+1));
414 >            assertFalse(q.remove(i + 1));
415 >            assertFalse(q.contains(i + 1));
416          }
417          assertTrue(q.isEmpty());
418      }
# Line 530 | Line 540 | public class ArrayDequeTest extends JSR1
540       */
541      public void testRemoveFirstOccurrence() {
542          ArrayDeque q = populatedDeque(SIZE);
543 +        assertFalse(q.removeFirstOccurrence(null));
544          for (int i = 1; i < SIZE; i += 2) {
545              assertTrue(q.removeFirstOccurrence(new Integer(i)));
546          }
547          for (int i = 0; i < SIZE; i += 2) {
548              assertTrue(q.removeFirstOccurrence(new Integer(i)));
549 <            assertFalse(q.removeFirstOccurrence(new Integer(i+1)));
549 >            assertFalse(q.removeFirstOccurrence(new Integer(i + 1)));
550          }
551          assertTrue(q.isEmpty());
552 +        assertFalse(q.removeFirstOccurrence(null));
553 +        assertFalse(q.removeFirstOccurrence(42));
554 +        q = new ArrayDeque();
555 +        assertFalse(q.removeFirstOccurrence(null));
556 +        assertFalse(q.removeFirstOccurrence(42));
557      }
558  
559      /**
# Line 545 | Line 561 | public class ArrayDequeTest extends JSR1
561       */
562      public void testRemoveLastOccurrence() {
563          ArrayDeque q = populatedDeque(SIZE);
564 +        assertFalse(q.removeLastOccurrence(null));
565          for (int i = 1; i < SIZE; i += 2) {
566              assertTrue(q.removeLastOccurrence(new Integer(i)));
567          }
568          for (int i = 0; i < SIZE; i += 2) {
569              assertTrue(q.removeLastOccurrence(new Integer(i)));
570 <            assertFalse(q.removeLastOccurrence(new Integer(i+1)));
570 >            assertFalse(q.removeLastOccurrence(new Integer(i + 1)));
571          }
572          assertTrue(q.isEmpty());
573 +        assertFalse(q.removeLastOccurrence(null));
574 +        assertFalse(q.removeLastOccurrence(42));
575 +        q = new ArrayDeque();
576 +        assertFalse(q.removeLastOccurrence(null));
577 +        assertFalse(q.removeLastOccurrence(42));
578      }
579  
580      /**
# Line 660 | Line 682 | public class ArrayDequeTest extends JSR1
682  
683      void checkToArray2(ArrayDeque q) {
684          int size = q.size();
685 <        Integer[] a1 = size == 0 ? null : new Integer[size-1];
685 >        Integer[] a1 = (size == 0) ? null : new Integer[size - 1];
686          Integer[] a2 = new Integer[size];
687 <        Integer[] a3 = new Integer[size+2];
687 >        Integer[] a3 = new Integer[size + 2];
688          if (size > 0) Arrays.fill(a1, 42);
689          Arrays.fill(a2, 42);
690          Arrays.fill(a3, 42);
691 <        Integer[] b1 = size == 0 ? null : (Integer[]) q.toArray(a1);
691 >        Integer[] b1 = (size == 0) ? null : (Integer[]) q.toArray(a1);
692          Integer[] b2 = (Integer[]) q.toArray(a2);
693          Integer[] b3 = (Integer[]) q.toArray(a3);
694          assertSame(a2, b2);
# Line 680 | Line 702 | public class ArrayDequeTest extends JSR1
702              assertSame(b3[i], x);
703          }
704          assertNull(a3[size]);
705 <        assertEquals(42, (int) a3[size+1]);
705 >        assertEquals(42, (int) a3[size + 1]);
706          if (size > 0) {
707              assertNotSame(a1, b1);
708              assertEquals(size, b1.length);
# Line 781 | Line 803 | public class ArrayDequeTest extends JSR1
803          final Random rng = new Random();
804          for (int iters = 0; iters < 100; ++iters) {
805              int max = rng.nextInt(5) + 2;
806 <            int split = rng.nextInt(max-1) + 1;
806 >            int split = rng.nextInt(max - 1) + 1;
807              for (int j = 1; j <= max; ++j)
808                  q.add(new Integer(j));
809              Iterator it = q.iterator();
810              for (int j = 1; j <= split; ++j)
811                  assertEquals(it.next(), new Integer(j));
812              it.remove();
813 <            assertEquals(it.next(), new Integer(split+1));
813 >            assertEquals(it.next(), new Integer(split + 1));
814              for (int j = 1; j <= split; ++j)
815                  q.remove(new Integer(j));
816              it = q.iterator();
817 <            for (int j = split+1; j <= max; ++j) {
817 >            for (int j = split + 1; j <= max; ++j) {
818                  assertEquals(it.next(), new Integer(j));
819                  it.remove();
820              }
# Line 849 | Line 871 | public class ArrayDequeTest extends JSR1
871          final Random rng = new Random();
872          for (int iters = 0; iters < 100; ++iters) {
873              int max = rng.nextInt(5) + 2;
874 <            int split = rng.nextInt(max-1) + 1;
874 >            int split = rng.nextInt(max - 1) + 1;
875              for (int j = max; j >= 1; --j)
876                  q.add(new Integer(j));
877              Iterator it = q.descendingIterator();
878              for (int j = 1; j <= split; ++j)
879                  assertEquals(it.next(), new Integer(j));
880              it.remove();
881 <            assertEquals(it.next(), new Integer(split+1));
881 >            assertEquals(it.next(), new Integer(split + 1));
882              for (int j = 1; j <= split; ++j)
883                  q.remove(new Integer(j));
884              it = q.descendingIterator();
885 <            for (int j = split+1; j <= max; ++j) {
885 >            for (int j = split + 1; j <= max; ++j) {
886                  assertEquals(it.next(), new Integer(j));
887                  it.remove();
888              }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines