backport visualize v3 (#279)

* backport visualize v3

* test backport

* compare file

* old test files removed
This commit is contained in:
Normann
2024-12-24 13:11:15 +01:00
committed by GitHub
parent 2a526aa228
commit 343cb0e138
7 changed files with 566 additions and 397 deletions

View File

@@ -11,6 +11,7 @@ from akkudoktoreos.optimization.genetic import (
OptimizeResponse,
optimization_problem,
)
from akkudoktoreos.utils.visualize import prepare_visualize
DIR_TESTDATA = Path(__file__).parent / "testdata"
@@ -67,16 +68,12 @@ def test_optimize(
visualize_filename = str((DIR_TESTDATA / f"new_{fn_out}").with_suffix(".pdf"))
def visualize_to_file(*args, **kwargs):
from akkudoktoreos.visualize import visualisiere_ergebnisse
# Write test output pdf to file, so we can look at it manually
kwargs["filename"] = visualize_filename
return visualisiere_ergebnisse(*args, **kwargs)
with patch(
"akkudoktoreos.optimization.genetic.visualisiere_ergebnisse", side_effect=visualize_to_file
) as visualisiere_ergebnisse_patch:
"akkudoktoreos.utils.visualize.prepare_visualize",
side_effect=lambda parameters, results, *args, **kwargs: prepare_visualize(
parameters, results, filename=visualize_filename, **kwargs
),
) as prepare_visualize_patch:
# Call the optimization function
ergebnis = opt_class.optimierung_ems(
parameters=input_data, start_hour=start_hour, ngen=ngen
@@ -95,4 +92,4 @@ def test_optimize(
compare_dict(ergebnis.model_dump(), expected_result.model_dump())
# The function creates a visualization result PDF as a side-effect.
visualisiere_ergebnisse_patch.assert_called_once()
prepare_visualize_patch.assert_called_once()