Код Middle Тестирование и pytest обновлено

Тестируемая функция со временем

Условие

Напишите overdue(invoices, now): invoices список словарей {"id", "due"} (ISO-дата YYYY-MM-DD), now ISO-дата. Верните id счетов, у которых срок строго раньше now, отсортированные по сроку, затем по id. Время передаётся параметром, а не берётся из datetime.now(), чтобы функцию было легко тестировать.

Примеры

overdue([{"id":1,"due":"2026-10-01"}, {"id":2,"due":"2026-10-20"}], "2026-10-15") // [1]
overdue([], "2026-10-15") // []
overdue([{"id":1,"due":"2026-10-15"}], "2026-10-15") // []

Как подойти

Подсказки: 2
  1. Сравнивайте date.fromisoformat(...).
  2. Срок, равный now, не просрочен.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме