Exemplo n.º 1
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);
 }
Exemplo n.º 2
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();
 }
Exemplo n.º 3
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();
 }
Exemplo n.º 4
0
 @Test
 public void testToArray() {
   LNGVector<String> v1 = new LNGVector<>(1000);
   String[] expected = new String[500];
   for (int i = 0; i < 1000; i++) {
     v1.push("s" + i);
     if (i < 500) expected[i] = "s" + i;
   }
   v1.shrinkTo(500);
   Assert.assertArrayEquals(expected, v1.toArray());
 }
Exemplo n.º 5
0
 @Test
 public void testToString() {
   LNGVector<String> v1 = new LNGVector<>();
   Assert.assertEquals("[]", v1.toString());
   v1.push("s1");
   Assert.assertEquals("[s1]", v1.toString());
   v1.push("s2");
   Assert.assertEquals("[s1, s2]", v1.toString());
   v1.push("s3");
   Assert.assertEquals("[s1, s2, s3]", v1.toString());
   v1.push("s4");
   Assert.assertEquals("[s1, s2, s3, s4]", v1.toString());
 }
Exemplo n.º 6
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());
 }
Exemplo n.º 7
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());
 }
Exemplo n.º 8
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());
 }
Exemplo n.º 9
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());
   }
 }
Exemplo n.º 10
0
 @Test
 public void testGettinSettingAndPopping() {
   LNGVector<String> v1 = new LNGVector<>();
   for (int i = 0; i < 1000; i++) v1.push("s" + i);
   for (int i = 999; i >= 0; i--) {
     v1.set(i, "string");
     Assert.assertEquals("string", v1.get(i));
   }
   for (int i = 999; i >= 0; i--) {
     v1.pop();
     Assert.assertEquals(i, v1.size());
   }
 }
Exemplo 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());
 }
Exemplo n.º 12
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));
 }
Exemplo n.º 13
0
 @Test
 public void testGrowTo() {
   LNGVector<String> v1 = new LNGVector<>();
   Assert.assertTrue(v1.empty());
   for (int i = 0; i < 2000; i++) v1.push("s" + i);
   v1.shrinkTo(1000);
   Assert.assertFalse(v1.empty());
   for (int i = 0; i < 1001; i += 10) {
     v1.growTo(1000 + i);
     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(null, 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(null, v1.get(i));
 }
Exemplo n.º 14
0
 @Test
 public void testInplaceReplace() {
   LNGVector<String> v1 = new LNGVector<>();
   for (int i = 0; i < 1000; i++) v1.push("s" + i);
   LNGVector<String> v2 = new LNGVector<>();
   for (int i = 0; i < 500; i++) v2.push("str" + i);
   LNGVector<String> v3 = new LNGVector<>();
   for (int i = 0; i < 2000; i++) v3.push("string" + i);
   v1.replaceInplace(v2);
   Assert.assertEquals(500, v1.size());
   for (int i = 0; i < 500; i++) Assert.assertEquals("str" + i, v1.get(i));
   v2.replaceInplace(v3);
   Assert.assertEquals(2000, v2.size());
   for (int i = 0; i < 2000; i++) Assert.assertEquals("string" + i, v2.get(i));
 }
Exemplo n.º 15
0
 @Test(expected = IllegalArgumentException.class)
 public void testIllegalInplaceReplace() {
   LNGVector<String> v1 = new LNGVector<>();
   for (int i = 0; i < 1000; i++) v1.push("s" + i);
   v1.replaceInplace(v1);
 }
Exemplo n.º 16
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());
 }
Exemplo n.º 17
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);
 }