[cvs] / jsr166 / src / test / tck / ArrayDeque8Test.java Repository:
ViewVC logotype

Diff of /jsr166/src/test/tck/ArrayDeque8Test.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1, Tue Oct 25 01:32:55 2016 UTC revision 1.2, Fri Nov 18 03:19:20 2016 UTC
# Line 51  Line 51 
51    
52      /**      /**
53       * Handle capacities near Integer.MAX_VALUE.       * Handle capacities near Integer.MAX_VALUE.
54       * ant -Dvmoptions='-Xms28g -Xmx28g' -Djsr166.testImplementationDetails=true -Djsr166.expensiveTests=true -Djsr166.tckTestClass=ArrayDequeTest -Djsr166.methodFilter=testHuge tck       * ant -Dvmoptions='-Xms28g -Xmx28g' -Djsr166.expensiveTests=true -Djsr166.tckTestClass=ArrayDeque8Test -Djsr166.methodFilter=testHugeCapacity tck
55       */       */
56      public void testHuge() {      public void testHugeCapacity() {
57          if (! (testImplementationDetails          if (! (testImplementationDetails
58                 && expensiveTests                 && expensiveTests
59                 && Runtime.getRuntime().maxMemory() > 24L * (1 << 30)))                 && Runtime.getRuntime().maxMemory() > 24L * (1 << 30)))
60              return;              return;
61    
62          ArrayDeque q;          final Integer e = 42;
63          Integer e = 42;          final int maxArraySize = Integer.MAX_VALUE - 8;
         final int maxSize = Integer.MAX_VALUE - 8;  
64    
65          assertThrows(OutOfMemoryError.class,          assertThrows(OutOfMemoryError.class,
66                       () -> new ArrayDeque<>(Integer.MAX_VALUE));                       () -> new ArrayDeque(Integer.MAX_VALUE));
67    
68          {          {
69              q = new ArrayDeque<>(maxSize);              ArrayDeque q = new ArrayDeque(maxArraySize - 1);
70              assertEquals(0, q.size());              assertEquals(0, q.size());
71              assertTrue(q.isEmpty());              assertTrue(q.isEmpty());
72              q = null;              q = null;
73          }          }
74    
75          {          {
76              q = new ArrayDeque();              ArrayDeque q = new ArrayDeque();
77              assertTrue(q.addAll(Collections.nCopies(maxSize - 2, e)));              assertTrue(q.addAll(Collections.nCopies(maxArraySize - 3, e)));
78              assertEquals(e, q.peekFirst());              assertEquals(e, q.peekFirst());
79              assertEquals(e, q.peekLast());              assertEquals(e, q.peekLast());
80              assertEquals(maxSize - 2, q.size());              assertEquals(maxArraySize - 3, q.size());
81              q.addFirst((Integer) 0);              q.addFirst((Integer) 0);
82              q.addLast((Integer) 1);              q.addLast((Integer) 1);
83              assertEquals((Integer) 0, q.peekFirst());              assertEquals((Integer) 0, q.peekFirst());
84              assertEquals((Integer) 1, q.peekLast());              assertEquals((Integer) 1, q.peekLast());
85              assertEquals(maxSize, q.size());              assertEquals(maxArraySize - 1, q.size());
86    
87              ArrayDeque qq = q;              ArrayDeque qq = q;
88              ArrayDeque smallish = new ArrayDeque(              ArrayDeque smallish = new ArrayDeque(
89                  Collections.nCopies(Integer.MAX_VALUE - maxSize + 1, e));                  Collections.nCopies(Integer.MAX_VALUE - q.size() + 1, e));
90              assertThrows(              assertThrows(
91                  IllegalStateException.class,                  IllegalStateException.class,
92                  () -> qq.addAll(qq),                  () -> qq.addAll(qq),

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8