Ответ 1
Несколько тестов, о которых я могу думать, следующие:
- test hasNext в пустой коллекции (возвращает false)
- test next() в пустой коллекции (генерирует исключение)
- test hasNext в коллекции с одним элементом (возвращает true, несколько раз)
- test hasNext/next в коллекции с одним элементом: hasNext возвращает true, next возвращает элемент, hasNext возвращает false, дважды
- test remove в этой коллекции: размер проверки равен 0 после
- test снова удалить: исключение
- окончательный тест с коллекцией с несколькими элементами, убедитесь, что итератор проходит через каждый элемент в правильном порядке (если есть)
- удалить все элементы из коллекции: теперь коллекция пуста
Вы также можете посмотреть тесты, используемые в openJDK.