Мне нужно реализовать свой собственный метод List.size (). Я создаю такой метод:
public class MyArrayList<Long> implements List<Long> {
List<Long> list;
@Override
public int size() {
if(list == null) {
throw new NullPointerException("List is null");
}
int size = 0;
for(Long element : list) {
size++;
}
return size;
} Я пишу абстрактный тестовый класс, чтобы выполнить тест для существующего метода размера и моего.
public abstract class AbstractArrayListTest {
protected abstract List<Long> getEmptyList();
protected abstract List<Long> getSizeOfTheList();
@Test
public void shouldReturnFalseIfListContainElement() {
assertTrue(getEmptyList().isEmpty());
}
@Test
public void shouldReturnSizeOfList() {
int size = getSizeOfTheList().size();
assertEquals(size, getEmptyList().size());
}
}
Каждый раз, когда я пытаюсь проверить это, получаю null E. Есть мысли, как я могу это написать? Стоит отметить, что оригинальная реализация List проходит этот тест.