Как проверить функцию Python: ручные тесты и граничные случаи

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

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

Короткий пример

cases = [(-4, 4), (0, 0), (6, 6)]
for value, expected in cases:
    actual = abs(value)
    print(value, "OK" if actual == expected else "FAIL")

Результат:

-4 OK
0 OK
6 OK

Ожидаемый ответ нельзя получать повторным вызовом той же функции: это не независимая проверка. Различайте возвращаемое значение и текст, который функция печатает. Задание ниже требует написать собственную функцию и проверить её на разных знаках.

Попробуйте самостоятельно

Ниже — отдельное задание с другими данными. Напишите решение и запустите проверку кода без регистрации. Для последовательного обучения откройте курс.

Документация.

Проверка знака числа через ручные тесты

Напишите функцию classify_number(n), которая определяет знак числа.

Правила такие:

  • если n больше 0, функция возвращает 1;
  • если n равно 0, функция возвращает 0;
  • если n меньше 0, функция возвращает -1.

После определения функции добавьте не менее трёх проверочных вызовов. Для каждого вызова заранее запишите ожидаемый результат, сравните его с результатом функции через if и ==, а затем выведите OK или FAIL.

Обязательно проверьте:

  • положительное число;
  • ноль;
  • отрицательное число.
РешениеPython

Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.

Отправьте решение, чтобы увидеть результаты тестов.

Связанные задачи