2024-11-10 23:22:30 +01:00
|
|
|
import json
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
|
|
import pytest
|
|
|
|
from matplotlib.testing.compare import compare_images
|
|
|
|
|
2024-11-11 21:38:13 +01:00
|
|
|
from akkudoktoreos.config import AppConfig
|
2024-11-10 23:22:30 +01:00
|
|
|
from akkudoktoreos.visualize import visualisiere_ergebnisse
|
|
|
|
|
|
|
|
DIR_TESTDATA = Path(__file__).parent / "testdata"
|
|
|
|
DIR_IMAGEDATA = DIR_TESTDATA / "images"
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
|
|
"fn_in, fn_out, fn_out_base",
|
|
|
|
[("visualize_input_1.json", "visualize_output_1.pdf", "visualize_base_output_1.pdf")],
|
|
|
|
)
|
2024-11-11 21:38:13 +01:00
|
|
|
def test_visualisiere_ergebnisse(fn_in, fn_out, fn_out_base, tmp_config: AppConfig):
|
2024-11-10 23:22:30 +01:00
|
|
|
with open(DIR_TESTDATA / fn_in, "r") as f:
|
|
|
|
input_data = json.load(f)
|
2024-11-11 21:38:13 +01:00
|
|
|
visualisiere_ergebnisse(config=tmp_config, **input_data)
|
|
|
|
output_file: Path = tmp_config.working_dir / tmp_config.directories.output / fn_out
|
|
|
|
|
|
|
|
assert output_file.is_file()
|
2024-11-10 23:22:30 +01:00
|
|
|
assert (
|
|
|
|
compare_images(
|
2024-11-11 21:38:13 +01:00
|
|
|
str(output_file),
|
2024-11-10 23:22:30 +01:00
|
|
|
str(DIR_IMAGEDATA / fn_out_base),
|
|
|
|
0,
|
|
|
|
)
|
|
|
|
is None
|
|
|
|
)
|