【发布时间】:2020-02-29 19:15:12
【问题描述】:
我需要实现我自己的 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;
} 我写了一个抽象的测试类来测试现有的size和mine方法。
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());
}
}
每次我尝试测试它时都会得到一个空 E。有什么想法可以写吗?值得一提的是,List 的原始实现通过了这个测试。
【问题讨论】:
标签: java list algorithm junit collections