From b6d0ef22f32a6689b992100f5aa71ea9d396efa6 Mon Sep 17 00:00:00 2001 From: Michael Osthege Date: Mon, 7 Oct 2024 19:44:07 +0200 Subject: [PATCH] Remove and ignore visualization side-effect outputs --- .gitignore | 3 +++ tests/test_class_optimize.py | 4 ++++ visualization_results.pdf | Bin 49201 -> 0 bytes 3 files changed, 7 insertions(+) delete mode 100644 visualization_results.pdf diff --git a/.gitignore b/.gitignore index 5863b08..34e27fa 100644 --- a/.gitignore +++ b/.gitignore @@ -245,3 +245,6 @@ $RECYCLE.BIN/ # Windows shortcuts *.lnk + +# Visualization side effects +**/visualization_results.pdf diff --git a/tests/test_class_optimize.py b/tests/test_class_optimize.py index 814a1bc..4655aa3 100644 --- a/tests/test_class_optimize.py +++ b/tests/test_class_optimize.py @@ -32,3 +32,7 @@ def test_optimize(fn_in, fn_out): # This does not assert that the optimization always gives the same result! # Reproducibility and mathematical accuracy should be tested on the level of individual components. assert set(ergebnis) == set(expected_output_data) + + # The function creates a visualization result PDF as a side-effect. + fp_viz = Path(".") / "visualization_results.pdf" + assert fp_viz.exists() diff --git a/visualization_results.pdf b/visualization_results.pdf deleted file mode 100644 index 7f4d49906135662bca2fc2547c75d6ccd52b22b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49201 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