generated from john/python-template
V4.5 Complete - Enhanced trancription context, added option to restranscribe source under different models.
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
"""Tests for deterministic V4.5 transcription warnings."""
|
||||
|
||||
import pytest
|
||||
|
||||
from transcription.services.quality import QualityWarningCode
|
||||
from transcription.services.quality import analyze_transcription_quality
|
||||
from transcription.services.quality import quality_warning_payload
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
def test_quality_analysis_reports_each_v45_warning_without_mutating_text():
|
||||
text = (
|
||||
"[document body handwritten]\n"
|
||||
"[document body typewritten]\n"
|
||||
"[handwritten: first line]\n"
|
||||
"[handwritten: second line]\n"
|
||||
"Damaged \ufffd text &"
|
||||
)
|
||||
|
||||
warnings = analyze_transcription_quality(text)
|
||||
|
||||
assert [warning.code for warning in warnings] == [
|
||||
QualityWarningCode.REPLACEMENT_CHARACTER,
|
||||
QualityWarningCode.MULTIPLE_BODY_MARKERS,
|
||||
QualityWarningCode.REDUNDANT_HANDWRITING_WRAPPERS,
|
||||
QualityWarningCode.UNRESOLVED_HTML_ENTITY,
|
||||
]
|
||||
assert text.endswith("&")
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
def test_quality_analysis_accepts_clean_transcription():
|
||||
assert analyze_transcription_quality("[document body typewritten]\nClean text.") == ()
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
def test_quality_warning_payload_is_versioned():
|
||||
payload = quality_warning_payload(
|
||||
analyze_transcription_quality("[document body typeset]\nBroken \ufffd")
|
||||
)
|
||||
|
||||
assert payload["schema_name"] == "transcription.quality-warnings"
|
||||
assert payload["schema_version"] == "1"
|
||||
assert payload["warnings"][0]["code"] == "replacement_character"
|
||||
Reference in New Issue
Block a user