예제 #1
0
 @Test
 public void testVectorShrink() {
   LNGVector<String> v1 = new LNGVector<>();
   Assert.assertTrue(v1.empty());
   for (int i = 0; i < 1000; i++) v1.push("s" + i);
   Assert.assertFalse(v1.empty());
   for (int i = 500; i > 0; i--) {
     v1.shrinkTo(i);
     Assert.assertEquals("s" + (i - 1), v1.back());
   }
 }
예제 #2
0
 @Test
 public void testRelease() {
   LNGVector<String> v1 = new LNGVector<>();
   Assert.assertTrue(v1.empty());
   for (int i = 0; i < 1000; i++) {
     v1.push("s" + i);
     Assert.assertEquals(i + 1, v1.size());
     Assert.assertEquals("s" + i, v1.back());
     Assert.assertEquals("s" + i, v1.get(i));
   }
   Assert.assertFalse(v1.empty());
   v1.release();
   Assert.assertTrue(v1.empty());
 }
예제 #3
0
 @Test
 public void legalUnsafePush() {
   LNGVector<String> v1 = new LNGVector<>(1000);
   Assert.assertTrue(v1.empty());
   for (int i = 0; i < 1000; i++) {
     v1.unsafePush("s" + i);
     Assert.assertEquals(i + 1, v1.size());
     Assert.assertEquals("s" + i, v1.back());
     Assert.assertEquals("s" + i, v1.get(i));
   }
   Assert.assertFalse(v1.empty());
   v1.clear();
   Assert.assertTrue(v1.empty());
 }
예제 #4
0
 @Test
 public void testRemoveElements() {
   LNGVector<String> v1 = new LNGVector<>();
   Assert.assertTrue(v1.empty());
   for (int i = 0; i < 1000; i++) v1.push("s" + i);
   Assert.assertFalse(v1.empty());
   for (int i = 0; i < 9; i++) {
     v1.removeElements(100);
     Assert.assertEquals(1000 - (i + 1) * 100, v1.size());
     Assert.assertEquals("s" + (1000 - (i + 1) * 100 - 1), v1.back());
   }
   Assert.assertEquals(100, v1.size());
   v1.removeElements(100);
   Assert.assertTrue(v1.empty());
 }