2013-09-02 2 views
0

Итерация через LinkedList, как это: -Единица LinkedList

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.

+0

что вы имеете в виду - * добавить новую функцию *? –

+0

извините за путаницу, отредактирован. – JavaDeveloper

+1

Что вы пытаетесь выполнить с помощью модульного теста? Вы тестируете реализацию LinkedList? – ash

ответ

0

Вы можете сделать что-то вроде этого:

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++; 
} 

Или еще проще, использовать улучшенный цикл:

LinkedList<Integer> ll = new LinkedList<Integer>(); 

int i = 0; 
int[] seq = {1, 2, 3, 4}; 

for (Integer val : ll) { 
    assertEquals(seq[i], val); 
    i++; 
} 
0

Существует несколько вариантов. Вы не сможете обойти создание объекта, который можно утверждать как строку или коллекцию. утверждать.

Для этого вы можете создать вспомогательную функцию, которую вы можете повторно использовать в своих тестах.

Проверьте это post for asserting collections.

Смежные вопросы