refactoring

This commit is contained in:
Matthias Bisping 2022-04-04 14:01:19 +02:00
parent 89afb8f920
commit 16aa951c96

View File

@ -18,14 +18,7 @@ def test_fpdf_coordinate_transformer(position_metadata_in_given_system, position
"""We use FPDF's coordinate system as the reference system (arbitrarily). Hence, FPDFCoordinateTransformer
actually does not do anything. This test merely documents the fact, that FPDF is the reference system.
"""
transformer = FPDFCoordinateTransformer()
assert transformer.forward(position_metadata_in_given_system) == position_metadata_in_reference_system
assert transformer.backward(position_metadata_in_reference_system) == position_metadata_in_given_system
assert (
compose(transformer.backward, transformer.forward)(position_metadata_in_reference_system)
== position_metadata_in_reference_system
)
pass
@pytest.mark.parametrize("coordinate_system", ["fitz"])
@ -36,14 +29,7 @@ def test_fitz_coordinate_transformer(position_metadata_in_given_system, position
- Compare position_metadata_in_given_system (fitz) with position_metadata_in_reference_system (fpdf)
- Observe that they are identical
"""
transformer = FitzCoordinateTransformer()
assert transformer.forward(position_metadata_in_given_system) == position_metadata_in_reference_system
assert transformer.backward(position_metadata_in_reference_system) == position_metadata_in_given_system
assert (
compose(transformer.backward, transformer.forward)(position_metadata_in_reference_system)
== position_metadata_in_reference_system
)
pass
@pytest.mark.parametrize("coordinate_system", ["pdfnet"])
@ -55,11 +41,16 @@ def test_pdfnet_coordinate_transformer(position_metadata_in_given_system, positi
- save annotated pdf as file g
- look at discrepancy between the black square and the red box in g
"""
transformer = PDFNetCoordinateTransformer()
pass
@pytest.mark.parametrize("coordinate_system", ["fpdf", "fitz", "pdfnet"])
def test_pdfnet_coordinate_transformer(
transformer, position_metadata_in_given_system, position_metadata_in_reference_system
):
assert transformer.forward(position_metadata_in_reference_system) == position_metadata_in_given_system
assert transformer.backward(position_metadata_in_given_system) == position_metadata_in_reference_system
assert (
compose(transformer.backward, transformer.forward)(position_metadata_in_reference_system)
== position_metadata_in_reference_system
@ -76,6 +67,21 @@ def test_fpdf_coordinate_transformer_by_image(position_metadata_in_given_system,
assert np.allclose(target_image, test_image)
@pytest.fixture
def transformer(coordinate_system):
if coordinate_system == "fpdf":
return FPDFCoordinateTransformer()
elif coordinate_system == "fitz":
return FitzCoordinateTransformer()
elif coordinate_system == "pdfnet":
return PDFNetCoordinateTransformer()
else:
raise ValueError(f"Unknown coordinate system: {coordinate_system}")
@pytest.fixture
def position_metadata_in_given_system(corner, corner2metadata_in_given_system):
return corner2metadata_in_given_system[corner]