40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
from app.engine.legal_risk import LegalRiskEngine, Precedent, load_precedents
|
|
|
|
|
|
def _case() -> Precedent:
|
|
return Precedent(
|
|
case_id="case-1",
|
|
title="테스트 판례",
|
|
source_url="https://example.test/case-1",
|
|
work_types=("literary",),
|
|
legal_tags=("reproduction",),
|
|
criteria=("실질적 유사성",),
|
|
holding_summary="테스트 요약",
|
|
)
|
|
|
|
|
|
def test_empty_precedents_never_claim_legal_conclusion():
|
|
result = LegalRiskEngine([]).assess(
|
|
max_similarity=0.95, coverage=0.8, longest_span=300,
|
|
legal_tags=["reproduction"],
|
|
)
|
|
assert result.status == "insufficient_precedent_data"
|
|
assert result.risk_level is None
|
|
|
|
|
|
def test_risk_requires_missing_facts_and_only_registered_case_ids():
|
|
result = LegalRiskEngine([_case()]).assess(
|
|
max_similarity=0.9, coverage=0.5, longest_span=200,
|
|
legal_tags=["reproduction"],
|
|
)
|
|
assert result.status == "review_required"
|
|
assert result.risk_level == "high"
|
|
assert result.precedent_ids == ("case-1",)
|
|
assert len(result.missing_factors) == 3
|
|
|
|
|
|
def test_repository_seed_is_valid():
|
|
cases = load_precedents("data/precedents/precedents.jsonl")
|
|
assert cases
|
|
assert cases[0].case_id == "2012다73493"
|