arm-core/api/tests/test_domain_statement_names.py

41 lines
2.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""Совпадение наименований §11.9 (спека «Совпадение наименований»)."""
import pytest
from src.domain.statement_names import names_match, normalize, section_number
@pytest.mark.parametrize(
("recognized", "references", "expected"),
[
("Нематериальные активы", ["Результаты исследований и разработок"], False),
(
"НДС, начисленный по отгрузке",
["Налог на добавленную стоимость по приобретенным ценностям", "НДС, начисленный по отгрузке"],
True,
),
("Итого по разделу I", ["Итого по разделу II"], False),
("Итого по разделу V1", ["Итого по разделу V"], True),
("Итого по разделу V /", ["Итого по разделу V"], True),
("Итого по разделу", ["Итого по разделу II"], False),
("АКТИВ I. Внеоборотные активы Гудвил", ["Гудвил"], True),
("Расчёты", ["Расчеты"], True),
("", ["Запасы"], False),
(None, ["Запасы"], False),
("Запасы", [], False),
("Итого по разделу х", ["Итого по разделу X"], True),
("Итого по разделу", ["Итого по разделу"], True),
("Итого по разделу II", ["Итого по разделу IV"], False),
("Запасы", ["Основные средства"], False),
],
)
def test_names_match(recognized: str | None, references: list[str], expected: bool) -> None:
assert names_match(recognized, references) is expected
def test_normalize_and_section_number() -> None:
assert normalize(" Расчёты,\tс (покупателями)_ ") == "расчеты с покупателями"
assert section_number(normalize("Итого по разделу VІ")) == "vi"
assert section_number("запасы") is None
assert section_number("итого по разделу") is None