1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.collections4;
18
19 import static org.junit.jupiter.api.Assertions.assertEquals;
20 import static org.junit.jupiter.api.Assertions.assertThrows;
21 import static org.junit.jupiter.api.Assertions.assertTrue;
22
23 import java.util.ArrayList;
24
25 import org.apache.commons.collections4.list.AbstractListTest;
26 import org.junit.jupiter.api.Test;
27
28
29
30
31 public abstract class AbstractArrayListTest<E> extends AbstractListTest<E> {
32
33 public AbstractArrayListTest(final String testName) {
34 super(testName);
35 }
36
37
38
39
40 @Override
41 public abstract ArrayList<E> makeObject();
42
43 @Test
44 public void testNewArrayList() {
45 final ArrayList<E> list = makeObject();
46 assertTrue(list.isEmpty(), "New list is empty");
47 assertEquals(0, list.size(), "New list has size zero");
48
49 assertThrows(IndexOutOfBoundsException.class, () -> list.get(1));
50 }
51
52 @Test
53 @SuppressWarnings("unchecked")
54 public void testSearch() {
55 final ArrayList<E> list = makeObject();
56 list.add((E) "First Item");
57 list.add((E) "Last Item");
58 assertEquals("First Item", list.get(0), "First item is 'First Item'");
59 assertEquals("Last Item", list.get(1), "Last Item is 'Last Item'");
60 }
61
62 }