|
|
@ -1,29 +1,30 @@
|
|
|
|
import os.path
|
|
|
|
import os
|
|
|
|
import itertools
|
|
|
|
|
|
|
|
from typing import Iterator, Tuple
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from ..cli_line_dirs import find_gt_and_ocr_files, find_gt_and_ocr_files_autodetect
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
data_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_basic():
|
|
|
|
def test_basic():
|
|
|
|
"""Test the dumb method: User gives directories and suffixes."""
|
|
|
|
"""Test the dumb method: User gives directories and suffixes."""
|
|
|
|
pairs = list(
|
|
|
|
pairs = list(
|
|
|
|
find_gt_and_ocr_files(
|
|
|
|
find_gt_and_ocr_files(
|
|
|
|
"line_dirs_test/basic/gt",
|
|
|
|
os.path.join(data_dir, "line_dirs/basic/gt"),
|
|
|
|
".gt.txt",
|
|
|
|
".gt.txt",
|
|
|
|
"line_dirs_test/basic/ocr",
|
|
|
|
os.path.join(data_dir, "line_dirs/basic/ocr"),
|
|
|
|
".some-ocr.txt",
|
|
|
|
".some-ocr.txt",
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
assert len(pairs) == 2
|
|
|
|
assert len(pairs) == 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_basic_autodetect():
|
|
|
|
def test_basic_autodetect():
|
|
|
|
"""Test the autodetect method: User gives directories, suffixes are autodetected if possible"""
|
|
|
|
"""Test autodetect: User gives directories, suffixes are autodetected if possible"""
|
|
|
|
pairs = list(
|
|
|
|
pairs = list(
|
|
|
|
find_gt_and_ocr_files_autodetect(
|
|
|
|
find_gt_and_ocr_files_autodetect(
|
|
|
|
"line_dirs_test/basic/gt",
|
|
|
|
os.path.join(data_dir, "line_dirs/basic/gt"),
|
|
|
|
"line_dirs_test/basic/ocr",
|
|
|
|
os.path.join(data_dir, "line_dirs/basic/ocr"),
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
@ -34,9 +35,9 @@ def test_subdirs():
|
|
|
|
"""Test the dumb method: Should also work when subdirectories are involved."""
|
|
|
|
"""Test the dumb method: Should also work when subdirectories are involved."""
|
|
|
|
pairs = list(
|
|
|
|
pairs = list(
|
|
|
|
find_gt_and_ocr_files(
|
|
|
|
find_gt_and_ocr_files(
|
|
|
|
"line_dirs_test/subdirs/gt",
|
|
|
|
os.path.join(data_dir, "line_dirs/subdirs/gt"),
|
|
|
|
".gt.txt",
|
|
|
|
".gt.txt",
|
|
|
|
"line_dirs_test/subdirs/ocr",
|
|
|
|
os.path.join(data_dir, "line_dirs/subdirs/ocr"),
|
|
|
|
".some-ocr.txt",
|
|
|
|
".some-ocr.txt",
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
@ -48,30 +49,23 @@ def test_subdirs_autodetect():
|
|
|
|
"""Test the autodetect method: Should also work when subdirectories are involved."""
|
|
|
|
"""Test the autodetect method: Should also work when subdirectories are involved."""
|
|
|
|
pairs = list(
|
|
|
|
pairs = list(
|
|
|
|
find_gt_and_ocr_files_autodetect(
|
|
|
|
find_gt_and_ocr_files_autodetect(
|
|
|
|
"line_dirs_test/subdirs/gt",
|
|
|
|
os.path.join(data_dir, "line_dirs/subdirs/gt"),
|
|
|
|
"line_dirs_test/subdirs/ocr",
|
|
|
|
os.path.join(data_dir, "line_dirs/subdirs/ocr"),
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
assert len(pairs) == 2
|
|
|
|
assert len(pairs) == 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_merged():
|
|
|
|
def test_merged():
|
|
|
|
"""Test the dumb method: Should also work when GT and OCR texts are in the same directories."""
|
|
|
|
"""Test the dumb method: GT and OCR texts are in the same directories."""
|
|
|
|
pairs = list(
|
|
|
|
pairs = list(
|
|
|
|
find_gt_and_ocr_files(
|
|
|
|
find_gt_and_ocr_files(
|
|
|
|
"line_dirs_test/merged",
|
|
|
|
os.path.join(data_dir, "line_dirs/merged"),
|
|
|
|
".gt.txt",
|
|
|
|
".gt.txt",
|
|
|
|
"line_dirs_test/merged",
|
|
|
|
os.path.join(data_dir, "line_dirs/merged"),
|
|
|
|
".some-ocr.txt",
|
|
|
|
".some-ocr.txt",
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
assert len(pairs) == 2
|
|
|
|
assert len(pairs) == 2
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
|
|
|
test_basic()
|
|
|
|
|
|
|
|
test_subdirs()
|
|
|
|
|
|
|
|
test_merged()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test_basic_autodetect()
|
|
|
|
|
|
|
|
test_subdirs_autodetect()
|
|
|
|
|