如何在Java中为ListIterator编写JUnit测试以测试listiterator是否已设置为特定索引

时间:2019-03-19 18:08:41

标签: java iterator junit4 listiterator

我正在尝试编写一个代码,该代码可以将Iterator的开头设置为特定索引,并且此方法必须创建并返回一个实现ListIterator的对象,该对象位于此链表中,位于该节点之前的位置,该位置对应于索引。

这是我编写的方法,但是我不知道如何编写Junit测试代码来测试我的方法,它将始终向我显示Stack Over流。该方法应返回以index开头的ListIterator。

方法:

>>> pd.DataFrame(df)
       col1  groups
0       cat       1
1       cat       1
2       dog       1
3   dolphin       2
4   dolphin       2
5      frog       2
6      frog       2
7     seq_F       1
8     seq_E       1
9     seq_C       1
10    seq_F       2
11    seq_A       2
12    seq_B       2
13    seq_A       2

JUnit测试: 公共类KWLinkedListTest扩展了TestCase {

public ListIterator<E> listIterator(int index) {
    ListIterator <E> myIter = listIterator();
    if ( index < 0 || index > size) {
        throw new IndexOutOfBoundsException();
    }
    else {
        for ( int i = 0; i < index && myIter.hasNext(); i++) {
            myIter.next();
        }

    }
    return (ListIterator<E>) myIter;
}

1 个答案:

答案 0 :(得分:0)

在使用您提供的代码在测试项目中重现您的问题时,我遇到了困难。

ListIterator <E> myIter = listIterator();在调用自身时没有必需的参数。即使提供了参数,也会导致无限递归/堆栈溢出。

size是无法识别的符号。

缺少类型KWLinkedList的代码。