Вот машинопись.
У меня есть функция (на самом деле угловая труба), которая преобразует количество дней в строку, например «1 день» или «2 дня», в зависимости от ввода.
transform(day: number): string {
const result = /* here's a logic */;
return result; // outputs smthg like '1 day' or '5 days'
}
Я пишу для него модульные тесты, и они не проходят, когда я пишу большие числа, такие как 12312512135351513.
У меня есть предположение, что речь идет о безопасных целочисленных пределах, и мой ввод переполняет его.
Итак, вопрос: как проверить функции, которые получают такие небезопасные целочисленные входные данные?
Их результаты являются неожиданными.
Избегать небезопасных номеров - это решение, но хорошо ли это? Другой - получить число в виде строки, вырезать последнюю цифру и использовать ее, но API функции будет выглядеть странно.