6.4
This commit is contained in:
61
tests/test_visualize_parse.py
Normal file
61
tests/test_visualize_parse.py
Normal file
@@ -0,0 +1,61 @@
|
||||
"""visualize_pipeline TSV 解析单元测试(无需 GPU)。"""
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
PACK_ROOT = Path(__file__).resolve().parent.parent
|
||||
sys.path.insert(0, str(PACK_ROOT / "scripts"))
|
||||
|
||||
from visualize_tsv import parse_result_tsv # noqa: E402
|
||||
|
||||
|
||||
def test_parse_offline_12col_with_doctor_summary(tmp_path: Path) -> None:
|
||||
tsv = tmp_path / "r.txt"
|
||||
tsv.write_text(
|
||||
"rank\tstart_sec\tend_sec\tproduct_id_top1\ttop1_name\ttop1_conf\t"
|
||||
"product_id_top2\ttop2_name\ttop2_conf\tproduct_id_top3\ttop3_name\ttop3_conf\n"
|
||||
"1\t1.0\t5.0\tP1\t手套\t0.9\t\t\t\t\t\t\n"
|
||||
"医生信息:张三 (id=D01, conf=0.91)\n",
|
||||
encoding="utf-8",
|
||||
)
|
||||
segs, doc = parse_result_tsv(tsv)
|
||||
assert len(segs) == 1
|
||||
assert segs[0].row.n1 == "手套"
|
||||
assert doc is not None and "张三" in doc
|
||||
|
||||
|
||||
def test_parse_stream_15col(tmp_path: Path) -> None:
|
||||
tsv = tmp_path / "s.txt"
|
||||
header = "\t".join(
|
||||
[
|
||||
"rank", "start_sec", "end_sec", "product_id_top1", "top1_name", "top1_conf",
|
||||
"product_id_top2", "top2_name", "top2_conf", "product_id_top3", "top3_name", "top3_conf",
|
||||
"doctor_id", "doctor_name", "doctor_conf",
|
||||
]
|
||||
)
|
||||
row = [
|
||||
"1", "2.0", "8.0", "",
|
||||
"(无有效耗材帧:好帧/白名单/耗材置信度未全部满足)", "",
|
||||
"", "", "", "", "", "", "D2", "李四", "0.77",
|
||||
]
|
||||
tsv.write_text(header + "\n" + "\t".join(row) + "\n", encoding="utf-8")
|
||||
segs, doc = parse_result_tsv(tsv)
|
||||
assert len(segs) == 1
|
||||
assert segs[0].is_failure()
|
||||
assert segs[0].doctor_name == "李四"
|
||||
assert doc is None
|
||||
|
||||
|
||||
def test_parse_failure_hud_text(tmp_path: Path) -> None:
|
||||
tsv = tmp_path / "f.txt"
|
||||
tsv.write_text(
|
||||
"rank\tstart_sec\tend_sec\tproduct_id_top1\ttop1_name\ttop1_conf\t"
|
||||
"product_id_top2\ttop2_name\ttop2_conf\tproduct_id_top3\ttop3_name\ttop3_conf\n"
|
||||
"1\t0.5\t3.0\t\t(无有效耗材帧:好帧/白名单/耗材置信度未全部满足)\t\t"
|
||||
"\t\t\t\t\t\t\n",
|
||||
encoding="utf-8",
|
||||
)
|
||||
segs, _ = parse_result_tsv(tsv)
|
||||
assert segs[0].is_failure()
|
||||
assert "无有效耗材帧" in segs[0].row.n1
|
||||
Reference in New Issue
Block a user