fix: HINA 全类型缺陷修复 — SORT/CSV/ALT 3 个真实缺陷
对抗性全类型测试发现的缺陷和修复: 缺陷1: SORT/MERGE L1 关键词太严格(漏检) - 旧: 'SORT ON KEY' / 'MERGE ON KEY'(精确字符串) - COBOL 中的真实写法: SORT WORK-FILE ON ASCENDING KEY ... - 新: 正则 SORT(?:\s+\S+)?\s+ON\s+(?:ASCENDING|DESCENDING)?KEY 缺陷2: CSV 假阳性(STRING/INSPECT 非CSV也触发) - 旧: has_string=True -> CSV合并 - 新: 要求 has_csv_merge(STRING+逗号分隔) - 单纯字符串拼接不再触发 CSV 分类 缺陷3: ALTERNATE RECORD KEY 被 ORGANIZATION IS 覆盖 - 旧: 文件编成先于替代索引(同确信度先者胜) - 新: 替代索引放前面(更具体的分类优先) 回归: 767 passed(0 new failures)
This commit is contained in:
@@ -121,24 +121,24 @@ def test_validation_vs_keybreak_unknown():
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
|
||||
def test_csv_merge_vs_split_merge():
|
||||
"""STRING 存在 → CSV合并"""
|
||||
features = {"has_string": True, "has_inspect": False}
|
||||
"""STRING + 逗号分隔 → CSV合并"""
|
||||
features = {"has_string": True, "has_csv_merge": True, "has_inspect": False}
|
||||
result = resolve_csv_merge_vs_split(features)
|
||||
assert result["resolved_type"] == "CSV合并"
|
||||
assert result["confidence"] >= 0.70
|
||||
|
||||
|
||||
def test_csv_merge_vs_split_split():
|
||||
"""INSPECT REPLACING 存在 → CSV拆分"""
|
||||
features = {"has_string": False, "has_inspect": True}
|
||||
"""INSPECT REPLACING + 逗号 → CSV拆分"""
|
||||
features = {"has_string": False, "has_csv_split": True, "has_inspect": True}
|
||||
result = resolve_csv_merge_vs_split(features)
|
||||
assert result["resolved_type"] == "CSV拆分"
|
||||
assert result["confidence"] >= 0.70
|
||||
|
||||
|
||||
def test_csv_merge_vs_split_both():
|
||||
"""两个都存在 → STRING 优先 (CSV合并)"""
|
||||
features = {"has_string": True, "has_inspect": True}
|
||||
"""CSV合并证据优先 → CSV合并"""
|
||||
features = {"has_string": True, "has_csv_merge": True, "has_inspect": True, "has_csv_split": True}
|
||||
result = resolve_csv_merge_vs_split(features)
|
||||
assert result["resolved_type"] == "CSV合并"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user