/
votter
/
NicheAI
Обзор
Документация
Войти
/
votter
/
NicheAI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/tests/test_parser.py
53 строки
2 KB
Egor
unfinished webapp
16 июл 2026, 01:02
16 июл 2026, 01:02
d594d25
Код
Авторство
О чём код?
import pytest from conftest import ZAYAVKI from parse_zayavka import parse_document @pytest.fixture(scope="module") def rechnoy(): return parse_document(ZAYAVKI / "zayavka_rechnoy.docx") @pytest.fixture(scope="module") def severny(): return parse_document(ZAYAVKI / "zayavka_severny_park.docx") def test_meta_extracted(rechnoy): assert "Речной" in rechnoy["meta"]["project"] assert rechnoy["meta"]["date"] def test_market_claims_extracted(rechnoy): canon = {c["canonical"] for c in rechnoy["claims"]} assert "market_volume" in canon assert "target_share" in canon assert "region_avg_price" in canon def test_all_claims_are_numeric(rechnoy): for c in rechnoy["claims"]: assert isinstance(c["value"], (int, float)) def test_context_rows_not_in_claims(rechnoy): claim_indicators = {c["indicator"].lower() for c in rechnoy["claims"]} assert not any("класс жилья" in i for i in claim_indicators) assert not any("наименование" in i for i in claim_indicators) def test_inn_not_treated_as_claim(severny): values = {c["value"] for c in severny["claims"]} assert 1600457890 not in values def test_contradiction_case_cost_present(severny): cost_rows = [r for s in severny["sections"] if s["id"] == "3" for r in s["rows"] if r["canonical"] == "cost_per_sqm"] assert cost_rows and cost_rows[0]["value"] == 90000 def test_segment_context_carried(rechnoy): seg = rechnoy["segment_context"] assert seg["region"] and seg["housing_class"]