test: add JUnit test requirements
This commit is contained in:
@@ -0,0 +1,67 @@
|
|||||||
|
# Общее техническое задание: тестирование
|
||||||
|
|
||||||
|
## Задача
|
||||||
|
|
||||||
|
Для всех реализованных классов написать автоматические тесты с использованием **JUnit**.
|
||||||
|
|
||||||
|
## Требования
|
||||||
|
|
||||||
|
1. Для каждого основного класса проекта должны быть написаны тесты.
|
||||||
|
|
||||||
|
2. Проверить:
|
||||||
|
|
||||||
|
- корректное выполнение основных методов;
|
||||||
|
- корректную обработку некорректных данных;
|
||||||
|
- граничные случаи;
|
||||||
|
- ожидаемые исключения.
|
||||||
|
|
||||||
|
3. Для `Student` проверить:
|
||||||
|
|
||||||
|
- создание корректного объекта;
|
||||||
|
- невозможность создания объекта с некорректными данными;
|
||||||
|
- работу `Builder`;
|
||||||
|
- `equals()` и `hashCode()`.
|
||||||
|
|
||||||
|
4. Для `MyLinkedList` проверить:
|
||||||
|
|
||||||
|
- `add()`;
|
||||||
|
- `get()`;
|
||||||
|
- `set()`;
|
||||||
|
- `remove()`;
|
||||||
|
- `size()`;
|
||||||
|
- `isEmpty()`;
|
||||||
|
- некорректные индексы.
|
||||||
|
|
||||||
|
5. Для `MergeSortStrategy` проверить:
|
||||||
|
|
||||||
|
- сортировку по каждому из трёх полей;
|
||||||
|
- уже отсортированную коллекцию;
|
||||||
|
- обратный порядок;
|
||||||
|
- коллекцию из одного элемента;
|
||||||
|
- пустую коллекцию.
|
||||||
|
|
||||||
|
6. Для каждого компаратора проверить правильное сравнение объектов `Student`.
|
||||||
|
|
||||||
|
7. Тесты должны быть независимыми друг от друга и воспроизводимыми.
|
||||||
|
|
||||||
|
8. Необходимо использовать JUnit и стандартные средства проверки результатов.
|
||||||
|
|
||||||
|
## Результат
|
||||||
|
|
||||||
|
Тесты размещать отдельно от основного кода, например:
|
||||||
|
|
||||||
|
```text
|
||||||
|
src/
|
||||||
|
├── main/
|
||||||
|
│ └── java/
|
||||||
|
└── test/
|
||||||
|
└── java/
|
||||||
|
├── StudentTest.java
|
||||||
|
├── MyLinkedListTest.java
|
||||||
|
├── MergeSortStrategyTest.java
|
||||||
|
├── StudentGroupComparatorTest.java
|
||||||
|
├── StudentAverageGradeComparatorTest.java
|
||||||
|
└── StudentRecordBookComparatorTest.java
|
||||||
|
```
|
||||||
|
|
||||||
|
Все тесты должны успешно проходить перед слиянием ветки в `main`.
|
||||||
Reference in New Issue
Block a user