🔥

Тред (@jin_nin)


Простая задачка на JS. Пользователь приложению даёт длины сторон треугольника, а оно возвращает true или false в зависимости от того, является ли он равносторонним или же нет. Сколько нужно написать тестов?
notion image

Для простоты давайте положим, что у нас тайпскрипт, который не пускает на вход совсем уж треш.

Для реализации с минимумом ветвлений у меня получилось, что надо минимум 11 тестов. У кого больше?
notion image

Благодаря сортировке мы избавились от комбинаторного взрыва тесткейсов, так что достаточно проверить первый параметр, для которого у нас 3 класса эквивалентности:
notion image

Каждый класс эквивалентности даёт по 2 граничных условия: -∞ 0 δ a + b - δ a + b +∞ Плюс NaN конечно же.

В классе эквивалентности "треугольник" надо проверить как вариант с true, так и с false. Итого - 11 тестов.
notion image