Files
contracts/testgen/opus_cases

Тестовые файлы — 30 кейсов (Opus)

Все документы — полноценные: шапка, преамбула с реквизитами сторон, 2-4 раздела, таблицы услуг (8 строк), подписи.

Блок A — Classify (кейсы 111)

Проверка классификации: тип документа, номер, контрагент, дата.

Файл Кейс Контрагент
договор-XXX001-03700.docx 1 ЗАО "ТехноПлюс"
договор-МЭС.docx 2 АО "МосЭнергоСбыт"
договор-нестандарт.docx 3 ЗАО "Клиент-Сервис"
допник-XXX003-01300.docx 4 — (допник)
спецификация-XXX001-03700.docx 5 — (спецификация)
договор-без-стороны.docx 6 null (без контрагента)
договор-дата-прописью.docx 7 ООО "Ресурс-ЦОД"
договор-две-даты.docx 8 АО "ТехноДата"
договор-длинная-преамбула.docx 9 ООО "Поздний Контрагент"
договор-много-номеров.docx 10 ЗАО "МультиНомер"
акт-сверки.docx 11 other (мусор)

Блок B — Group (кейсы 1220)

Проверка группировки: нормализация номеров, коллизии, семьи.

Файлы Кейс Суть
договор-МЭС-норм + допник-МЭС-норм 12 Разделители: - vs / vs пробел
договор-03700 + допник-О3700 13 Кириллическая О vs цифра 0
договор-CBC + допник-СВС 14 Латинская C vs кириллическая С
договор-ЁЖ + допник-ЁЖ 15 Буква Ё
допник-без-родителя 16 Допник без parent → unresolved
договор-GR50 + допник-GR50 17 Допник через own_number
договор-AB12 + A-B12 + допник-AB12 18 Коллизия якорей
договор-FAM + спека-FAM + допник-1/2-FAM 19 Семья из 4 документов
допник-1-XXX003-01300_2 20 Суффикс в имени файла

Блок C — Compare (кейсы 2130)

Проверка сравнения спецификаций. 8 строк услуг, изменена только v2.

Кейс Суть v2 отличия от v1
21 Цена +1 копейка UPDATE — строка 1 (45 000,00 → 45 000,01)
22 Удаление услуги DELETE — строка 3 (IP-адреса)
23 Переименование + цена UPDATE — строка 5 (название + цена + дата)
24 Полная замена FULL REPLACE — 3 новые строки
25 ADD ADD — 2 строки (9, 10)
26 DELETE DELETE — 2 строки (7, 8)
27 Только объём UPDATE — строка 3 (8→12 IP)
28 Услуга-призрак ADD — строка 9 (VPN, нет в v1)
29 Числа с пробелами UPDATE — строка 1 (45 000→45 500)
30 Робастность парсера UPDATE — строка 1 (45 000→51 000)

Всего: 50 файлов в трёх папках (block_a/, block_b/, block_c/). Сгенерированы: testgen/gen_opus.py.