market-assistant/backend/pipeline/tests/test_volume_parse.py
hub-gif 0be4049860 docs(copy): 将「口径」改为计数规则、说明、价格来源等通俗表述
报告正文、简报、策略草稿、API 说明与 LLM 提示中避免「统计口径」等行话;列表 CSV 表头「销量口径」改为「销量展示」;日报目录未改。

Made-with: Cursor
2026-04-16 10:43:44 +08:00

31 lines
1.0 KiB
Python

"""销量/评价量文案解析(与 reporting.charts._cn_volume_int 同一套解析规则)。"""
from __future__ import annotations
from django.test import SimpleTestCase
from pipeline.volume_parse import (
cn_volume_int,
comment_count_sort_value_from_cell,
sales_sort_value_from_search_cells,
)
class VolumeParseTests(SimpleTestCase):
def test_cn_volume_wan(self) -> None:
self.assertEqual(cn_volume_int("已售50万+"), 500_000)
def test_cn_volume_yi(self) -> None:
self.assertEqual(cn_volume_int("1.2亿件"), 120_000_000)
def test_sales_sort_prefers_total_sales(self) -> None:
v = sales_sort_value_from_search_cells("已售1万+", "已售5000+")
self.assertEqual(v, 10_000)
def test_sales_sort_fallback_floor(self) -> None:
v = sales_sort_value_from_search_cells("", "已售3万+")
self.assertEqual(v, 30_000)
def test_comment_count_cell(self) -> None:
v = comment_count_sort_value_from_cell("5000+条评价")
self.assertEqual(v, 5000)