Карточки товаров: цена принятого пакета при явном тарифе
Две процедуры формируют восемь описаний; валидатор отбрасывает потерянную массу и считает стоимость только принятых карточек.
Задача и принятое решение
Цена одной попытки скрывает стоимость брака. В наборе есть числовая масса, отсутствие массы и два разных комплекта; приемка обязана сохранять подтвержденные поля.
Baseline использует короткий шаблон без массы. Revised добавляет единицу и не заполняет неизвестную массу. После фактического формирования строк независимый валидатор сравнивает обязательный фрагмент с исходной спецификацией.
Денежная цена — изменяемое допущение для расчета, а не реальный счет модели. Генерация здесь шаблонная и локальная.
Проверить решение
Измените исходные строки или параметры и пересчитайте результат. Данные остаются в этой странице.
| ID | Описание | Приемка |
|---|---|---|
| K1 | Блокнот. Комплект: 1 блокнот. Масса: 120 г. | Принято |
| K2 | Карандаш. Комплект: 3 карандаша. Масса: 8 г. | Принято |
| K3 | Папка. Комплект: 1 папка. Масса: 90 г. | Принято |
| K4 | Конверт. Комплект: 5 конвертов. Масса: 12 г. | Принято |
| K5 | Лента. Комплект: 1 рулон. Масса: 45 г. | Принято |
| K6 | Открытка. Комплект: 1 открытка. | Принято |
| K7 | Закладка. Комплект: 2 закладки. | Принято |
| K8 | Наклейка. Комплект: 6 наклеек. | Принято |
Исходный набор
Авторский набор. В timings.json записан фактически выполненный локальный замер кода; тариф модели и сеть в него не входят.
Изменить входные строки
Посмотреть исходные строки
| ID | Название | Масса | Комплект |
|---|---|---|---|
| K1 | Блокнот | 120 | 1 блокнот |
| K2 | Карандаш | 8 | 3 карандаша |
| K3 | Папка | 90 | 1 папка |
| K4 | Конверт | 12 | 5 конвертов |
| K5 | Лента | 45 | 1 рулон |
| K6 | Открытка | 1 открытка | |
| K7 | Закладка | 2 закладки | |
| K8 | Наклейка | 6 наклеек |
Что получилось
Восемь строк действительно сформированы в обоих режимах. Короткий вариант прошел приемку в трех случаях, исправленный — в восьми. При условной цене 0,40 ₽ попытки принятая карточка стоит 1,07 и 0,40 ₽ соответственно; тариф можно изменить.
Выполненная проверка
| Проверка | Результат |
|---|---|
| Revised сохраняет все пять известных масс; неизвестные не выдумывает | Пройдена |
| Baseline проходит только на трех позициях без заданной массы | Пройдена |
| Нулевой тариф дает нулевую стоимость, не пустое значение | Пройдена |
Приемка проверяет только комплект и массу. Стилистическое качество, продажи и фактический биллинг внешней модели не измерены.
Скачать материалы и повторить проверку
source.json · source.csv · result.json · result.csv · engine.js · verify.cjs · checks.json · style.css · benchmark.cjs · timings.json
Локальная проверка: node verify.cjs. Нужен Node.js; сетевые обращения не выполняются.