Skip to content
This repository has been archived by the owner on Sep 14, 2024. It is now read-only.

Latest commit

 

History

History
39 lines (29 loc) · 2.17 KB

README.md

File metadata and controls

39 lines (29 loc) · 2.17 KB

Немного о тестах

Сначала об организации самих тестов: есть интерфейс IntegerRunnerCreator, при помощи которого создаются параметризованные тесты на основе JUnit4. Таким образом, при добавлении новой реализации интерфейса Runner<T> или при желании сменить тестируемую реализацию достаточно всего лишь поменять список тестируемых реализаций в интерфейсе IntegerRunnerCreator.

Сами тесты разделены на несколько смысловых групп:

RunnerTest

Проверки корректности исполнения в случае, если всё идёт по плану, то есть не бросается исключений и нет результатов null.

RunnerSimpleTest

Все процессоры возвращают нули, у них нет инпутов.

RunnerHardTest

Все процессоры возвращают нули, но их граф зависимостей не пуст и представляет собой бамбук.

RunnerTreeTest

Процессоры возращают сумму своих инпутов и своего индекса, а граф зависимостей представляет собой дерево, сгенерированное при помощи чисел Прюфера, вот источник этого генератора.

ExceptionsTest

Проверки бросания исключений в разных случаях:

  • некорректный граф зависимостей;
  • процессор бросает исключение в рантайме.

CuttingTest

Проверки того, что листы результатов, соответствующих процессорам, обрезаются если один из них возвращает null.