Смысл джейюнита в автоматизации проверок "ожидаемое - возвращенное программой". Необходимость в этом возникает от вариативности ввода пользователем входных данных, которые могут вызвать сбой в работе кода, который не предусмотрел в процессе написания программист-автор. Необходимость в отдельном тестировщике проистекает от неспособности одного человека играть разные роли. ПО аналогии, адвокат не может быть прокурором в одном и том же деле )
Научился: Узнал о IllegalArgumentException
Вообще тестирование это круто, решает много различных проблем. Особенно это полезно когда разрабатывается сложный "продукт" для массового использования