You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
import json
|
|
|
|
import pytest
|
|
from .util import working_directory
|
|
|
|
from ..cli import process
|
|
|
|
|
|
@pytest.mark.integration
|
|
def test_cli_json(tmp_path):
|
|
"""Test that the cli/process() yields a loadable JSON report"""
|
|
|
|
with working_directory(tmp_path):
|
|
with open("gt.txt", "w") as gtf:
|
|
gtf.write("AAAAA")
|
|
with open("ocr.txt", "w") as ocrf:
|
|
ocrf.write("AAAAB")
|
|
|
|
with open("gt.txt", "r") as gtf:
|
|
print(gtf.read())
|
|
process("gt.txt", "ocr.txt", "report")
|
|
with open("report.json", "r") as jsonf:
|
|
print(jsonf.read())
|
|
with open("report.json", "r") as jsonf:
|
|
j = json.load(jsonf)
|
|
assert j["cer"] == pytest.approx(0.2)
|
|
|
|
|
|
@pytest.mark.integration
|
|
def test_cli_json_cer_is_infinity(tmp_path):
|
|
"""Test that the cli/process() yields a loadable JSON report when CER == inf"""
|
|
|
|
with working_directory(tmp_path):
|
|
with open("gt.txt", "w") as gtf:
|
|
gtf.write("") # Empty to yield CER == inf
|
|
with open("ocr.txt", "w") as ocrf:
|
|
ocrf.write("Not important")
|
|
|
|
process("gt.txt", "ocr.txt", "report")
|
|
with open("report.json", "r") as jsonf:
|
|
j = json.load(jsonf)
|
|
assert j["cer"] == pytest.approx(float("inf"))
|