Files

2.4 KiB

Общее техническое задание: тестирование

Задача

Для всех реализованных классов написать автоматические тесты с использованием JUnit.

Требования

  1. Для каждого основного класса проекта должны быть написаны тесты.

  2. Проверить:

    • корректное выполнение основных методов;
    • корректную обработку некорректных данных;
    • граничные случаи;
    • ожидаемые исключения.
  3. Для Student проверить:

    • создание корректного объекта;
    • невозможность создания объекта с некорректными данными;
    • работу Builder;
    • equals() и hashCode().
  4. Для MyLinkedList проверить:

    • add();
    • get();
    • set();
    • remove();
    • size();
    • isEmpty();
    • некорректные индексы.
  5. Для MergeSortStrategy проверить:

    • сортировку по каждому из трёх полей;
    • уже отсортированную коллекцию;
    • обратный порядок;
    • коллекцию из одного элемента;
    • пустую коллекцию.
  6. Для каждого компаратора проверить правильное сравнение объектов Student.

  7. Тесты должны быть независимыми друг от друга и воспроизводимыми.

  8. Необходимо использовать JUnit и стандартные средства проверки результатов.

Результат

Тесты размещать отдельно от основного кода, например:

src/
├── main/
│   └── java/
└── test/
    └── java/
        ├── StudentTest.java
        ├── MyLinkedListTest.java
        ├── MergeSortStrategyTest.java
        ├── StudentGroupComparatorTest.java
        ├── StudentAverageGradeComparatorTest.java
        └── StudentRecordBookComparatorTest.java

Все тесты должны успешно проходить перед слиянием ветки в main.