fix(statements): OKUD pattern для DISCLOSURE — диапазон 0710003-0710099 без дефисов в классах
Паттерн из брифа \b07100(0[3-9]|[1-9]\d)\b содержал дефисы в диапазонах и отвергался валидатором. Переписан с альтернацией: \b07100(0(3|4|5|6|7|8|9)|(1|2|3|4|5|6|7|8|9)\d)\b Добавлены граничные тесты для OKUD кодов (0710003, 0710010 → DISCLOSURE; 0710000 → None). Refs #14 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> Claude-Session: cedd7915-2efe-41e5-988c-a9117033598b
This commit is contained in:
parent
d21884e334
commit
6a3661c41b
@ -23,7 +23,7 @@ okud:
|
|||||||
INCOME:
|
INCOME:
|
||||||
- '\b0710002\b'
|
- '\b0710002\b'
|
||||||
DISCLOSURE:
|
DISCLOSURE:
|
||||||
- '\b0710(?!001|002)'
|
- '\b07100(0(3|4|5|6|7|8|9)|(1|2|3|4|5|6|7|8|9)\d)\b'
|
||||||
|
|
||||||
# Маркер страницы-продолжения в 1С-выгрузке: «Форма 0710001 с.2»
|
# Маркер страницы-продолжения в 1С-выгрузке: «Форма 0710001 с.2»
|
||||||
continuation:
|
continuation:
|
||||||
|
|||||||
@ -31,6 +31,23 @@ def test_form_type_by_title_and_okud(rules: Rules) -> None:
|
|||||||
assert headers.okud_type("0710001") == "BALANCE"
|
assert headers.okud_type("0710001") == "BALANCE"
|
||||||
|
|
||||||
|
|
||||||
|
def test_okud_type_boundaries(rules: Rules) -> None:
|
||||||
|
"""Граничные случаи для кодов OKUD: диапазон 0710003-0710099 для DISCLOSURE."""
|
||||||
|
headers = rules.statement_headers
|
||||||
|
# Нижняя граница диапазона DISCLOSURE
|
||||||
|
assert headers.okud_type("0710003") == "DISCLOSURE"
|
||||||
|
# Верхняя граница диапазона DISCLOSURE
|
||||||
|
assert headers.okud_type("0710099") == "DISCLOSURE"
|
||||||
|
# Середина диапазона
|
||||||
|
assert headers.okud_type("0710010") == "DISCLOSURE"
|
||||||
|
assert headers.okud_type("0710050") == "DISCLOSURE"
|
||||||
|
# За границами диапазона
|
||||||
|
assert headers.okud_type("0710000") is None # до диапазона
|
||||||
|
assert headers.okud_type("07101") is None # неполный код
|
||||||
|
assert headers.okud_type("07100030") is None # слишком длинный
|
||||||
|
assert headers.okud_type("0710100") is None # за диапазоном
|
||||||
|
|
||||||
|
|
||||||
def test_continuation_marker_and_captions(rules: Rules) -> None:
|
def test_continuation_marker_and_captions(rules: Rules) -> None:
|
||||||
headers = rules.statement_headers
|
headers = rules.statement_headers
|
||||||
assert headers.is_continuation("Форма 0710001 с.2")
|
assert headers.is_continuation("Форма 0710001 с.2")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user