|
|
@@ -0,0 +1,160 @@
|
|
|
+"""
|
|
|
+测试数据示例
|
|
|
+提供各种测试场景的示例数据
|
|
|
+"""
|
|
|
+
|
|
|
+# 正常的施工方案内容
|
|
|
+NORMAL_REVIEW_CONTENT = """
|
|
|
+第一章 工程概况
|
|
|
+
|
|
|
+1.1 项目基本信息
|
|
|
+本工程为四川省会理至禄劝高速公路项目,路线全长约120公里,设计速度80km/h,
|
|
|
+路基宽度24.5米,双向四车道。主要工程内容包括路基工程、桥梁工程、隧道工程等。
|
|
|
+
|
|
|
+1.2 施工范围
|
|
|
+本标段起讫桩号为K0+000~K30+000,主要包括:
|
|
|
+- 路基土石方工程约200万立方米
|
|
|
+- 桥梁工程5座,总长约2000米
|
|
|
+- 涵洞工程20道
|
|
|
+- 路面工程约30公里
|
|
|
+
|
|
|
+1.3 工期安排
|
|
|
+计划工期:24个月
|
|
|
+开工日期:2024年3月1日
|
|
|
+竣工日期:2026年2月28日
|
|
|
+"""
|
|
|
+
|
|
|
+# 带有逻辑问题的内容
|
|
|
+LOGIC_ERROR_CONTENT = """
|
|
|
+第二章 施工方案
|
|
|
+
|
|
|
+2.1 施工顺序
|
|
|
+本工程采用先上后下的施工顺序,首先进行桥梁上部结构施工,然后进行桥墩基础施工。
|
|
|
+(注:这里存在逻辑错误,应该先施工基础再施工上部结构)
|
|
|
+
|
|
|
+2.2 工期安排
|
|
|
+本工程计划工期为6个月,但根据施工内容分析,实际需要至少12个月才能完成。
|
|
|
+(注:工期安排不合理)
|
|
|
+"""
|
|
|
+
|
|
|
+# 空内容
|
|
|
+EMPTY_CONTENT = ""
|
|
|
+
|
|
|
+# 超长内容
|
|
|
+VERY_LONG_CONTENT = """
|
|
|
+第三章 施工技术方案
|
|
|
+""" + "\n".join([f"3.{i} 施工工艺详细说明第{i}条,包含大量技术细节和参数..." * 10 for i in range(1, 1001)])
|
|
|
+
|
|
|
+# 特殊字符内容
|
|
|
+SPECIAL_CHARS_CONTENT = """
|
|
|
+特殊字符测试:
|
|
|
+- 符号:@#$%^&*()_+-={}[]|\\:;"'<>,.?/~`
|
|
|
+- 数学符号:±×÷≈≠≤≥∞∑∫√
|
|
|
+- 单位符号:℃、㎡、㎥、㎏、㎜
|
|
|
+- 其他:①②③④⑤⑥⑦⑧⑨⑩
|
|
|
+"""
|
|
|
+
|
|
|
+# Unicode 多语言内容
|
|
|
+UNICODE_CONTENT = """
|
|
|
+多语言测试:
|
|
|
+- 中文:施工方案审查
|
|
|
+- English: Construction Plan Review
|
|
|
+- 日本語:建設計画レビュー
|
|
|
+- 한국어: 건설 계획 검토
|
|
|
+- Русский: Обзор плана строительства
|
|
|
+- العربية: مراجعة خطة البناء
|
|
|
+- Emoji: 🚧🏗️👷♂️📋✅❌
|
|
|
+"""
|
|
|
+
|
|
|
+# 参考标准示例
|
|
|
+REFERENCE_STANDARDS = """
|
|
|
+参考标准:
|
|
|
+1. 《公路工程技术标准》JTG B01-2014
|
|
|
+2. 《公路桥涵施工技术规范》JTG/T 3650-2020
|
|
|
+3. 《公路路基施工技术规范》JTG/T 3610-2019
|
|
|
+4. 《公路工程质量检验评定标准》JTG F80/1-2017
|
|
|
+"""
|
|
|
+
|
|
|
+# 审查位置标签示例
|
|
|
+REVIEW_LOCATIONS = [
|
|
|
+ "第一章 工程概况",
|
|
|
+ "第二章 施工方案",
|
|
|
+ "第三章 质量保证措施",
|
|
|
+ "第四章 安全保证措施",
|
|
|
+ "第五章 环境保护措施",
|
|
|
+]
|
|
|
+
|
|
|
+# Trace ID 示例
|
|
|
+TRACE_IDS = [
|
|
|
+ "semantic_check_001",
|
|
|
+ "semantic_check_002",
|
|
|
+ "semantic_check_003",
|
|
|
+]
|
|
|
+
|
|
|
+# 模拟的 API 响应
|
|
|
+MOCK_API_RESPONSES = {
|
|
|
+ "success": "审查结果:内容逻辑清晰,结构合理,符合规范要求。未发现明显问题。",
|
|
|
+ "with_issues": """
|
|
|
+审查结果:发现以下问题:
|
|
|
+1. 施工顺序存在逻辑错误,应先进行基础施工再进行上部结构施工
|
|
|
+2. 工期安排不合理,建议调整为12个月
|
|
|
+3. 缺少安全措施的详细说明
|
|
|
+ """,
|
|
|
+ "empty": "内容为空,无法进行审查。",
|
|
|
+ "error": "审查失败:API 连接超时",
|
|
|
+}
|
|
|
+
|
|
|
+# 状态字典示例
|
|
|
+def create_mock_state():
|
|
|
+ """创建模拟的状态字典"""
|
|
|
+ from unittest.mock import AsyncMock
|
|
|
+
|
|
|
+ mock_progress_manager = AsyncMock()
|
|
|
+ mock_progress_manager.update_stage_progress = AsyncMock()
|
|
|
+
|
|
|
+ return {
|
|
|
+ "progress_manager": mock_progress_manager,
|
|
|
+ "callback_task_id": "test_callback_task_123",
|
|
|
+ "session_id": "test_session_456",
|
|
|
+ }
|
|
|
+
|
|
|
+# 测试场景配置
|
|
|
+TEST_SCENARIOS = {
|
|
|
+ "normal": {
|
|
|
+ "content": NORMAL_REVIEW_CONTENT,
|
|
|
+ "references": REFERENCE_STANDARDS,
|
|
|
+ "location": REVIEW_LOCATIONS[0],
|
|
|
+ "expected_success": True,
|
|
|
+ },
|
|
|
+ "logic_error": {
|
|
|
+ "content": LOGIC_ERROR_CONTENT,
|
|
|
+ "references": REFERENCE_STANDARDS,
|
|
|
+ "location": REVIEW_LOCATIONS[1],
|
|
|
+ "expected_success": True,
|
|
|
+ },
|
|
|
+ "empty": {
|
|
|
+ "content": EMPTY_CONTENT,
|
|
|
+ "references": "",
|
|
|
+ "location": REVIEW_LOCATIONS[0],
|
|
|
+ "expected_success": True,
|
|
|
+ },
|
|
|
+ "long": {
|
|
|
+ "content": VERY_LONG_CONTENT,
|
|
|
+ "references": REFERENCE_STANDARDS,
|
|
|
+ "location": REVIEW_LOCATIONS[2],
|
|
|
+ "expected_success": True,
|
|
|
+ },
|
|
|
+ "special_chars": {
|
|
|
+ "content": SPECIAL_CHARS_CONTENT,
|
|
|
+ "references": "",
|
|
|
+ "location": REVIEW_LOCATIONS[3],
|
|
|
+ "expected_success": True,
|
|
|
+ },
|
|
|
+ "unicode": {
|
|
|
+ "content": UNICODE_CONTENT,
|
|
|
+ "references": "",
|
|
|
+ "location": REVIEW_LOCATIONS[4],
|
|
|
+ "expected_success": True,
|
|
|
+ },
|
|
|
+}
|
|
|
+
|