42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
"""作业 3 事件解析测试。
|
|||
|
|
|
||
|
|
来源:workflow/20261016/事故信息采集2025118.json 中的客户端标记。
|
||
|
|
关键规则:普通自然语言(如“拍好了”“继续”)不是事件。
|
||
|
|
"""
|
||
|
|
|
||
|
|
import pytest
|
||
|
|
|
||
|
|
from src.agent.events import ClientEvent, parse_client_event
|
||
|
|
|
||
|
|
|
||
|
|
@pytest.mark.parametrize(
|
||
|
|
("text", "expected"),
|
||
|
|
[
|
||
|
|
("【开始】", ClientEvent.SESSION_START),
|
||
|
|
("【继续办理】", ClientEvent.CONTINUE),
|
||
|
|
("【拍摄完成】", ClientEvent.PHOTO_DONE),
|
||
|
|
("【用户无回复】", ClientEvent.NO_REPLY),
|
||
|
|
("【客户端连续3次拍摄识别失败:图片过于模糊】", ClientEvent.PHOTO_FAILED_3X),
|
||
|
|
("【客户端连续3次拍摄识别失败:摄像头启动失败】", ClientEvent.PHOTO_FAILED_3X),
|
||
|
|
("【客户端连续3次拍摄识别失败:未识别到完整车牌】", ClientEvent.PHOTO_FAILED_3X),
|
||
|
|
(" 【拍摄完成】 ", ClientEvent.PHOTO_DONE), # 容忍首尾空白
|
||
|
|
],
|
||
|
|
)
|
||
|
|
def test_markers_parse_to_events(text, expected):
|
||
|
|
assert parse_client_event(text) is expected
|
||
|
|
|
||
|
|
|
||
|
|
@pytest.mark.parametrize(
|
||
|
|
"text",
|
||
|
|
[
|
||
|
|
"拍好了", # 普通“拍好了”不等于拍摄完成事件
|
||
|
|
"我已经拍完了",
|
||
|
|
"继续",
|
||
|
|
"你好",
|
||
|
|
"",
|
||
|
|
" ",
|
||
|
|
],
|
||
|
|
)
|
||
|
|
def test_plain_text_is_not_an_event(text):
|
||
|
|
assert parse_client_event(text) is None
|