Esempio n. 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());
   }
 }
Esempio n. 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());
 }
Esempio n. 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());
 }
Esempio n. 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());
 }
Esempio n. 5
0
 @Test
 public void testRemove() {
   LNGVector<String> v1 = new LNGVector<>();
   Assert.assertTrue(v1.empty());
   for (int i = 0; i < 1000; i++) v1.push("s" + i);
   v1.remove("s500");
   Assert.assertEquals(999, v1.size());
   Assert.assertEquals("s499", v1.get(499));
   Assert.assertEquals("s501", v1.get(500));
   v1.remove("s0");
   Assert.assertEquals(998, v1.size());
   Assert.assertEquals("s1", v1.get(0));
   Assert.assertEquals("s499", v1.get(498));
   Assert.assertEquals("s501", v1.get(499));
   v1.remove("s999");
   Assert.assertEquals(997, v1.size());
   Assert.assertEquals("s1", v1.get(0));
   Assert.assertEquals("s499", v1.get(498));
   Assert.assertEquals("s501", v1.get(499));
   Assert.assertEquals("s998", v1.get(996));
   v1.remove("s1001");
   Assert.assertEquals(997, v1.size());
   Assert.assertEquals("s1", v1.get(0));
   Assert.assertEquals("s499", v1.get(498));
   Assert.assertEquals("s501", v1.get(499));
   Assert.assertEquals("s998", v1.get(996));
   LNGVector<String> v2 = new LNGVector<>("s1", "s1", "s2", "s5", "s8");
   v2.remove("s1");
   Assert.assertEquals(4, v2.size());
   Assert.assertEquals("[s1, s2, s5, s8]", v2.toString());
 }
Esempio n. 6
0
 @Test
 public void testIterator() {
   LNGVector<String> v1 = new LNGVector<>();
   Assert.assertTrue(v1.empty());
   for (int i = 0; i < 1000; i++) v1.push("s" + i);
   int count = 0;
   for (final String s : v1) Assert.assertEquals("s" + count++, s);
 }
Esempio n. 7
0
 @Test(expected = NoSuchElementException.class)
 public void testIllegalIteratorTraversal() {
   LNGVector<String> v1 = new LNGVector<>();
   Assert.assertTrue(v1.empty());
   for (int i = 0; i < 1000; i++) v1.push("s" + i);
   final Iterator<String> it = v1.iterator();
   Assert.assertTrue(it.hasNext());
   for (int i = 0; i < 1001; i++) it.next();
 }
Esempio n. 8
0
 @Test
 public void testGrowToWithPad() {
   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 < 1001; i += 10) {
     v1.growTo(1000 + i, "string");
     Assert.assertEquals(1000 + i, v1.size());
     for (int j = 0; j < 1000; j++) Assert.assertEquals("s" + j, v1.get(j));
     for (int j = 1000; j < 1000 + i; j++) Assert.assertEquals("string", v1.get(j));
   }
   Assert.assertEquals(2000, v1.size());
   v1.growTo(100, "string");
   Assert.assertEquals(2000, v1.size());
   for (int i = 0; i < 1000; i++) Assert.assertEquals("s" + i, v1.get(i));
   for (int i = 1000; i < 2000; i++) Assert.assertEquals("string", v1.get(i));
 }
Esempio n. 9
0
 @Test(expected = UnsupportedOperationException.class)
 public void testIllegalIteratorRemoval() {
   LNGVector<String> v1 = new LNGVector<>();
   Assert.assertTrue(v1.empty());
   for (int i = 0; i < 1000; i++) v1.push("s" + i);
   final Iterator<String> it = v1.iterator();
   Assert.assertTrue(it.hasNext());
   it.next();
   it.remove();
 }
Esempio n. 10
0
 @Test
 public void testVectorCreation() {
   LNGVector<String> v1 = new LNGVector<>();
   Assert.assertEquals(0, v1.size());
   Assert.assertTrue(v1.empty());
   LNGVector<String> v2 = new LNGVector<>(10);
   Assert.assertEquals(0, v2.size());
   Assert.assertTrue(v2.empty());
   LNGVector<String> v3 = new LNGVector<>(10, "string");
   Assert.assertEquals(10, v3.size());
   for (int i = 0; i < v3.size(); i++) Assert.assertEquals("string", v3.get(i));
   Assert.assertFalse(v3.empty());
   LNGVector<String> v4 = new LNGVector<>("s1", "s2", "s3", "s4", "s5");
   Assert.assertEquals(5, v4.size());
   int count = 1;
   for (final String s : v4) Assert.assertEquals("s" + count++, s);
   List<String> list = new LinkedList<>();
   for (int i = 0; i < 1000; i++) list.add("s" + i);
   LNGVector<String> v5 = new LNGVector<>(list);
   Assert.assertEquals(1000, v5.size());
   for (int i = 0; i < 1000; i++) Assert.assertEquals("s" + i, v5.get(i));
 }
Esempio n. 11
0
 @Test
 public void testSortReverse() {
   LNGVector<String> v1 = new LNGVector<>(1000);
   LNGVector<String> v2 = new LNGVector<>(1000);
   for (int i = 999; i >= 0; i--) v1.push("s" + i);
   for (int i = 0; i < 1000; i++) v2.push("s" + i);
   v1.sortReverse(stringComparator);
   v2.sortReverse(stringComparator);
   for (int i = 0; i < 1000; i++) {
     Assert.assertEquals(v2.get(i), v1.get(i));
     if (i != 999) Assert.assertTrue(v1.get(i).compareTo(v1.get(i + 1)) > 0);
   }
   LNGVector<String> v3 = new LNGVector<>(1000);
   v3.sortReverse(stringComparator);
   Assert.assertTrue(v3.empty());
 }
Esempio n. 12
0
 @Test(expected = ArrayIndexOutOfBoundsException.class)
 public void illegalUnsafePush() {
   LNGVector<String> v1 = new LNGVector<>(100);
   Assert.assertTrue(v1.empty());
   for (int i = 0; i < 1000; i++) v1.unsafePush("s" + i);
 }