Рыбаков - Лабораторная работа #3

Это очень плохо, когда в приложение закрадывается неконтролируемая случайность. Вы не можете написать детерминированный тест; если приложение падает, то нет шансов воспроизвести такой же случай; как результат понимание и отладка затрудняются, и первое что всегда нужно делать -- возвращать детерминированное поведение.

Поэтому, просьба устранить случайность (например фиксируя seed). И потом написать все соответствующие тесты.