2.4 KiB
2.4 KiB
Общее техническое задание: тестирование
Задача
Для всех реализованных классов написать автоматические тесты с использованием JUnit.
Требования
-
Для каждого основного класса проекта должны быть написаны тесты.
-
Проверить:
- корректное выполнение основных методов;
- корректную обработку некорректных данных;
- граничные случаи;
- ожидаемые исключения.
-
Для
Studentпроверить:- создание корректного объекта;
- невозможность создания объекта с некорректными данными;
- работу
Builder; equals()иhashCode().
-
Для
MyLinkedListпроверить:add();get();set();remove();size();isEmpty();- некорректные индексы.
-
Для
MergeSortStrategyпроверить:- сортировку по каждому из трёх полей;
- уже отсортированную коллекцию;
- обратный порядок;
- коллекцию из одного элемента;
- пустую коллекцию.
-
Для каждого компаратора проверить правильное сравнение объектов
Student. -
Тесты должны быть независимыми друг от друга и воспроизводимыми.
-
Необходимо использовать JUnit и стандартные средства проверки результатов.
Результат
Тесты размещать отдельно от основного кода, например:
src/
├── main/
│ └── java/
└── test/
└── java/
├── StudentTest.java
├── MyLinkedListTest.java
├── MergeSortStrategyTest.java
├── StudentGroupComparatorTest.java
├── StudentAverageGradeComparatorTest.java
└── StudentRecordBookComparatorTest.java
Все тесты должны успешно проходить перед слиянием ветки в main.