Json configuration (#141)

* Add json config
* Adjust code to new config

---------

Co-authored-by: Chris <git@nootch.de>
This commit is contained in:
Chris
2024-11-11 21:38:13 +01:00
committed by GitHub
parent fc74cde56f
commit ed3226e522
21 changed files with 726 additions and 171 deletions

View File

@@ -1,10 +1,10 @@
import json
from pathlib import Path
from unittest.mock import patch
import pytest
from matplotlib.testing.compare import compare_images
from akkudoktoreos.config import AppConfig
from akkudoktoreos.visualize import visualisiere_ergebnisse
DIR_TESTDATA = Path(__file__).parent / "testdata"
@@ -15,14 +15,16 @@ DIR_IMAGEDATA = DIR_TESTDATA / "images"
"fn_in, fn_out, fn_out_base",
[("visualize_input_1.json", "visualize_output_1.pdf", "visualize_base_output_1.pdf")],
)
@patch("akkudoktoreos.visualize.output_dir", DIR_IMAGEDATA)
def test_visualisiere_ergebnisse(fn_in, fn_out, fn_out_base):
def test_visualisiere_ergebnisse(fn_in, fn_out, fn_out_base, tmp_config: AppConfig):
with open(DIR_TESTDATA / fn_in, "r") as f:
input_data = json.load(f)
visualisiere_ergebnisse(**input_data)
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()
assert (
compare_images(
str(DIR_IMAGEDATA / fn_out),
str(output_file),
str(DIR_IMAGEDATA / fn_out_base),
0,
)