Я пишу тесты для Junit, чтобы проверить функцию удаления, которую я написал:
/**
* Deletes the item at the given index. If there are any elements located at a higher
* index, shift them all down by one.
*
* @throws IndexOutOfBoundsException if the index < 0 or index >= this.size()
*/
@Override
public T delete(int index) {
if (index < 0 || index > this.size()) {
throw new IndexOutOfBoundsException();
} else if (isEmpty()) {
throw new EmptyContainerException();
} else {
Node<T> current = front;
if (index == 0) {
front = current.next;
current.prev = null;
size--;
return current.data;
} else if (index == size - 1) {
return remove();
} else {
current = traverse(current, index);
Node<T> temp = current;
current.prev.next = current.next;
current.next.prev = current.prev;
size--;
return temp.data;
}
}
}
Этот метод предназначен для двойного связанного списка, который имеет задний и передний узлы.
ПРОБЛЕМА: Наш колледж будет использовать код с ошибками в сравнении с тестами, которые мы пишем, чтобы определить, достаточно ли мы написали тесты для обнаружения неверного кода и исключений.
Я знаю 2 теста, которые они будут выполнять, но не знаю, что означает ошибка.
FAIL: MissingBackFieldRepairLogic
Unable to find bug with DoubleLinkedList with missing back field repair logic
FAIL: MissingNextNodeRepairLogic
Unable to find bug with DoubleLinkedList with missing next node repair logic
Это ^ 2 теста, которые я не учел, так как не могу понять, что означают эти ошибки. Кто-нибудь имеет представление о том, что эти ошибки могут быть?
А какие тесты я должен написать, чтобы отследить эти ошибки?
Спасибо
-Отчаявшийся студент