arm-tabular-parser/api/tests/synthetic/test_generate_statements.py
Andrey Epifancev 07d57cbd07 test(statements): манифест реальных форм, property-тест, golden форм, покрытие словарей форм
Манифест statements_manifest.yaml по 18 реальным файлам statements-xlsx (сверен
прогоном парсера, R-13, OQ-137), property-тест по манифесту, снимки форм в
golden_helpers/golden_update/test_golden, словари форм в покрытии, синтетика
st06 для вариантов заголовков. Мёртвые записи словаря удалены (name_caption,
метки okved и okud_label) либо покрыты st06.

Refs #14

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: cedd7915-2efe-41e5-988c-a9117033598b
2026-10-06 20:50:25 +04:00

20 lines
621 B
Python

from pathlib import Path
from tests.synthetic.generate_statements import FILE_NAMES, generate_all
EXPECTED = (
"st01_both_forms_one_sheet.xlsx",
"st02_csv_like.xlsx",
"st03_no_codes.xlsx",
"st04_mixed_book.xlsx",
"st05_continuation_only.xlsx",
"st06_header_variants.xlsx",
)
def test_names_and_determinism(tmp_path: Path) -> None:
assert FILE_NAMES == EXPECTED
first = {path.name: path.read_bytes() for path in generate_all(tmp_path / "a")}
second = {path.name: path.read_bytes() for path in generate_all(tmp_path / "b")}
assert first == second and set(first) == set(EXPECTED)