Slo*_*shy 1 java junit iterable linked-list
我正在尝试对实现Iterable的类进行测试.当我去测试任何方法时,在itorator类中,如hasNext(),next().所以当我调用list.itorator().Next(); 没有任何反应,节点是列表中的当前节点而不是下一个节点.但是当我做ListIterator时itrList = new ListIterator(list); 里面的代码有效.我正在调用public Iterator iterator(){return new ListIterator(this); 那我在做什么不正确/抓?谢谢你的帮助.
public void test6() {
List<String> list = new List<String>();
list.addAfterCurrent("1");
list.addAfterCurrent("2");
list.addAfterCurrent("3");
ListIterator itrList = new ListIterator(list);
TextIO.putln(list.iterator().next()); // output is 1
TextIO.putln(list.iterator().next()); // output is 1
TextIO.putln(itrList.next()); // output is 1
TextIO.putln(itrList.next()); // now output is 2
assertEquals("1", list.getCurrent());
assertEquals(3, list.size());
}
Run Code Online (Sandbox Code Playgroud)
你每次打电话都要创建一个新的迭代器list.iterator().您希望保持相同的迭代器并next多次调用其方法,例如
Iterator itr = list.iterator();
assertEquals(1, itr.next());
assertEquals(2, itr.next());
Run Code Online (Sandbox Code Playgroud)