From 16b185ff877509443033346d202205340989572a Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 14 May 2024 14:08:54 -0700 Subject: [PATCH 1/5] Use pytest recwarn fixture for warnings capture Pytest 8 deprecated passing None to pytest.warns https://docs.pytest.org/en/latest/how-to/capture-warnings.html#recwarn --- tests/plots/test_detectors.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tests/plots/test_detectors.py b/tests/plots/test_detectors.py index 77a9d67c..90de9caf 100644 --- a/tests/plots/test_detectors.py +++ b/tests/plots/test_detectors.py @@ -11,13 +11,11 @@ def testSpectrumPlot(): @compare_or_update_plot -def testBwrMeshPlot(): +def testBwrMeshPlot(recwarn): reader = readDataFile("bwr_det0.m") # Ensure that fix for #414 in in: matplotlib colorbar norm - with pytest.warns(None) as record: - reader["xymesh"].meshPlot(fixed={"energy": 0}) - assert len(record) == 0 - + reader["xymesh"].meshPlot(fixed={"energy": 0}) + assert len(recwarn) == 0 @compare_or_update_plot def testSpectrumJustNormPerLethargy(): From c9e2b6fbc67d3907345d518778f3dc20b709a778 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 14 May 2024 14:09:06 -0700 Subject: [PATCH 2/5] Bump pytest to >= 8 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 49f5b2f0..0d18953d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,7 @@ dependencies = [ [project.optional-dependencies] extras = ["pandas>1", "scipy"] -test = ["pytest>=6", "pytest-cov", "coverage"] +test = ["pytest>=8", "pytest-cov", "coverage"] ci = ["jupyter"] [tool.setuptools] From df0efd4faf1b8aa3ba95850612e7c2315cfa42e8 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 14 May 2024 14:23:18 -0700 Subject: [PATCH 3/5] Remove unused pytest import --- tests/plots/test_detectors.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/plots/test_detectors.py b/tests/plots/test_detectors.py index 90de9caf..2c342bb3 100644 --- a/tests/plots/test_detectors.py +++ b/tests/plots/test_detectors.py @@ -1,4 +1,3 @@ -import pytest from serpentTools.data import readDataFile from . import compare_or_update_plot From c5695035a4daee066dba3b9b38e7125992a4f813 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 14 May 2024 14:38:06 -0700 Subject: [PATCH 4/5] Pass kwargs to RegularPolygon in hex plots > Passing all but the very few first arguments positionally in the construction of Artists Deprecated in matplotlib 3.6, removed in 3.8 --- src/serpentTools/detectors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/serpentTools/detectors.py b/src/serpentTools/detectors.py index 3059987f..54e37d4d 100644 --- a/src/serpentTools/detectors.py +++ b/src/serpentTools/detectors.py @@ -1359,7 +1359,7 @@ def hexPlot(self, if val <= thresh: continue values.append(val) - h = RegularPolygon(xy, 6, radius, rotation, **kwargs) + h = RegularPolygon(xy, 6, radius=radius, orientation=rotation, **kwargs) verts = h.get_verts() vmins = verts.min(0) vmaxs = verts.max(0) From 6a0539dce60652d5bc7b58efa672c6d0ba69786e Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 14 May 2024 14:39:14 -0700 Subject: [PATCH 5/5] Add hex detector plot test --- tests/plots/result_images/testHexPlot.png | Bin 0 -> 33604 bytes tests/plots/test_detectors.py | 9 +++++++++ 2 files changed, 9 insertions(+) create mode 100644 tests/plots/result_images/testHexPlot.png diff --git a/tests/plots/result_images/testHexPlot.png b/tests/plots/result_images/testHexPlot.png new file mode 100644 index 0000000000000000000000000000000000000000..ecc5a05921db2b8d34000d8d7ff62531ce66923d GIT binary patch literal 33604 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