Найдите ближайшее значение, которое меняет результат
EDGE — не общий риск, а конкретная точка смены поведения: равенство, ноль, начало периода, конец коллекции, последняя попытка или отсутствие значения.
ЛимитПревышен
// WHY: заказ оценивается по прогнозной задолженности
// EDGE: точное равенство лимиту разрешено
= ЗадолженностьПослеОтгрузки > КредитныйЛимит;Комментарий и исполняемый код обязаны совпадать
ЛимитПревышен
// EDGE: точное равенство лимиту разрешено
= ЗадолженностьПослеОтгрузки >= КредитныйЛимит;Здесь комментарий разрешает равенство, а оператор >= его запрещает. MILA делает такое противоречие заметным ещё до теста.
Назовите EDGE для трёх правил
- Скидка действует начиная со 100 000 включительно.
- Период хранится как [Начало, Конец).
- Последняя разрешённая попытка должна выполняться.
Ищите точное равенство, точный конец периода и значение maxAttempts.
Самопроверка
- EDGE можно проверить одним различающим примером?
- Оператор соответствует заявленному включению или исключению границы?
- Нет ли второй независимой границы, которую скрывает одно выражение?