From 16aa951c96e705ae827099d4966e9f8e2017a2e6 Mon Sep 17 00:00:00 2001 From: Matthias Bisping Date: Mon, 4 Apr 2022 14:01:19 +0200 Subject: [PATCH] refactoring --- .../unit_tests/coordinate_transformer_test.py | 42 +++++++++++-------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/test/unit_tests/coordinate_transformer_test.py b/test/unit_tests/coordinate_transformer_test.py index accfd86..c2329e0 100644 --- a/test/unit_tests/coordinate_transformer_test.py +++ b/test/unit_tests/coordinate_transformer_test.py @@ -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]