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

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

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

revision 1.49, Fri Oct 21 03:24:00 2016 UTC revision 1.50, Sat Oct 22 05:45:56 2016 UTC
# Line 1019  Line 1019 
1019    
1020      /**      /**
1021       * Handle capacities near Integer.MAX_VALUE.       * Handle capacities near Integer.MAX_VALUE.
1022       * ant -Dvmoptions='-Xms22g -Xmx22g' -Djsr166.testImplementationDetails=true -Djsr166.expensiveTests=true -Djsr166.tckTestClass=ArrayDequeTest -Djsr166.methodFilter=testHuge tck       * ant -Dvmoptions='-Xms28g -Xmx28g' -Djsr166.testImplementationDetails=true -Djsr166.expensiveTests=true -Djsr166.tckTestClass=ArrayDequeTest -Djsr166.methodFilter=testHuge tck
1023       */       */
1024      public void testHuge() {      public void testHuge() {
1025          if (! (testImplementationDetails          if (! (testImplementationDetails
1026                 && expensiveTests                 && expensiveTests
1027                 && Runtime.getRuntime().maxMemory() > 21_000_000_000L))                 && Runtime.getRuntime().maxMemory() > 24L * (1 << 30)))
1028              return;              return;
1029    
1030          ArrayDeque q;          ArrayDeque q;
1031            Integer e = 42;
1032          final int maxSize = Integer.MAX_VALUE - 8;          final int maxSize = Integer.MAX_VALUE - 8;
1033    
1034          assertThrows(OutOfMemoryError.class,          assertThrows(OutOfMemoryError.class,
# Line 1035  Line 1036 
1036    
1037          {          {
1038              q = new ArrayDeque<>(maxSize);              q = new ArrayDeque<>(maxSize);
1039                assertEquals(0, q.size());
1040                assertTrue(q.isEmpty());
1041              q = null;              q = null;
1042          }          }
1043    
1044          {          {
1045              q = new ArrayDeque();              q = new ArrayDeque();
1046              assertTrue(q.addAll(Collections.nCopies(maxSize - 2, (Integer) 42)));              assertTrue(q.addAll(Collections.nCopies(maxSize - 2, e)));
1047              assertEquals((Integer) 42, q.peekFirst());              assertEquals(e, q.peekFirst());
1048              assertEquals((Integer) 42, q.peekLast());              assertEquals(e, q.peekLast());
1049              assertEquals(maxSize - 2, q.size());              assertEquals(maxSize - 2, q.size());
1050              q.addFirst((Integer) 0);              q.addFirst((Integer) 0);
1051              q.addLast((Integer) 1);              q.addLast((Integer) 1);
1052              assertEquals((Integer) 0, q.peekFirst());              assertEquals((Integer) 0, q.peekFirst());
1053              assertEquals((Integer) 1, q.peekLast());              assertEquals((Integer) 1, q.peekLast());
1054              assertEquals(maxSize, q.size());              assertEquals(maxSize, q.size());
1055              q = null;  
1056                ArrayDeque qq = q;
1057                ArrayDeque smallish = new ArrayDeque(
1058                    Collections.nCopies(Integer.MAX_VALUE - maxSize + 1, e));
1059                assertThrows(
1060                    IllegalStateException.class,
1061                    () -> qq.addAll(qq),
1062                    () -> qq.addAll(smallish),
1063                    () -> smallish.addAll(qq));
1064          }          }
1065      }      }
1066    

Legend:
Removed from v.1.49  
changed lines
  Added in v.1.50

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8