链表的单元测试



遍历链接列表如下:-

    LinkedList<Integer> ll = new LinkedList<Integer>();
    Iterator<Integer> itr = ll.iterator();
    while (itr.hasNext()) {
        int val = itr.next();
    }

问题是如何对这样的集合进行单元测试(例如:如果元素按顺序是1、2、3、4,则是单元测试用例,或者例如sortLinkedList函数等),其中唯一的循环方式是通过Iterator?此外,请不要给出涉及Guava的解决方案。

您可以这样做:

LinkedList<Integer> ll = new LinkedList<Integer>();
Iterator<Integer> itr = ll.iterator();
int i = 0;
int[] seq = {1, 2, 3, 4};
while (itr.hasNext()) {
    int val = itr.next();
    assertEquals(seq[i], val);
    i++;
}

或者更简单,使用增强的for循环:

LinkedList<Integer> ll = new LinkedList<Integer>();
int i = 0;
int[] seq = {1, 2, 3, 4};
for (Integer val : ll) {
    assertEquals(seq[i], val);
    i++;
}

有几种可能性。您将无法创建一个可以像字符串或集合一样断言的对象。明确肯定

要做到这一点,您可以构建一个可以在测试中重用的辅助函数。

请查看这篇文章以了解断言集合。

相关内容

  • 没有找到相关文章

最新更新