From e9a3113b21b07a1e8ee0709d60d18d2d63f36a29 Mon Sep 17 00:00:00 2001 From: Sangjoon Bob Lee Date: Sat, 21 Dec 2024 01:29:22 -0500 Subject: [PATCH 1/3] Catch expected wavelength warnings --- tests/test_diffraction_objects.py | 22 +++++++++++++++++----- tests/test_transforms.py | 1 - 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/tests/test_diffraction_objects.py b/tests/test_diffraction_objects.py index 26893904..382f5776 100644 --- a/tests/test_diffraction_objects.py +++ b/tests/test_diffraction_objects.py @@ -12,9 +12,9 @@ @pytest.mark.parametrize( - "do_args_1, do_args_2, expected_equality", + "do_args_1, do_args_2, expected_equality, warning_expected", [ - # Test when __eqal__ returns True and False + # Test when __eq__ returns True and False # Identical args, expect equality ( { @@ -36,6 +36,7 @@ "metadata": {"thing1": 1}, }, True, + False ), ( # Different names, expect inequality { @@ -53,6 +54,7 @@ "metadata": {"thing1": 1, "thing2": "thing2"}, }, False, + True ), ( # One without wavelength, expect inequality { @@ -69,6 +71,7 @@ "metadata": {"thing1": 1, "thing2": "thing2"}, }, False, + True ), ( # Different wavelengths, expect inequality { @@ -86,6 +89,7 @@ "metadata": {"thing1": 1, "thing2": "thing2"}, }, False, + False ), ( # Different scat_quantity, expect inequality { @@ -103,6 +107,7 @@ "metadata": {"thing1": 1, "thing2": "thing2"}, }, False, + True ), ( # Different q xarray values, expect inequality { @@ -117,6 +122,7 @@ "metadata": {"thing1": 1, "thing2": "thing2"}, }, False, + True ), ( # Different metadata, expect inequality { @@ -132,12 +138,18 @@ "metadata": {"thing1": 1, "thing2": "thing2"}, }, False, + True ), ], ) -def test_diffraction_objects_equality(do_args_1, do_args_2, expected_equality): - do_1 = DiffractionObject(**do_args_1) - do_2 = DiffractionObject(**do_args_2) +def test_diffraction_objects_equality(do_args_1, do_args_2, expected_equality, warning_expected, wavelength_warning_msg): + if warning_expected: + with pytest.warns(UserWarning, match=re.escape(wavelength_warning_msg)): + do_1 = DiffractionObject(**do_args_1) + do_2 = DiffractionObject(**do_args_2) + else: + do_1 = DiffractionObject(**do_args_1) + do_2 = DiffractionObject(**do_args_2) assert (do_1 == do_2) == expected_equality diff --git a/tests/test_transforms.py b/tests/test_transforms.py index 0ed522ce..5493ea19 100644 --- a/tests/test_transforms.py +++ b/tests/test_transforms.py @@ -27,7 +27,6 @@ ], ) def test_q_to_tth(wavelength, q, expected_tth, wavelength_warning_msg): - if wavelength is None: with pytest.warns(UserWarning, match=re.escape(wavelength_warning_msg)): actual_tth = q_to_tth(q, wavelength) From 968219fb742a2a07b2a312b0870f0f8c3951333a Mon Sep 17 00:00:00 2001 From: Sangjoon Bob Lee Date: Sat, 21 Dec 2024 01:29:29 -0500 Subject: [PATCH 2/3] Add news --- news/pytest-wavelength-warnings.rst | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 news/pytest-wavelength-warnings.rst diff --git a/news/pytest-wavelength-warnings.rst b/news/pytest-wavelength-warnings.rst new file mode 100644 index 00000000..3446720a --- /dev/null +++ b/news/pytest-wavelength-warnings.rst @@ -0,0 +1,23 @@ +**Added:** + +* unit test for expected warning when no wavelength is provided for DiffractionObject init + +**Changed:** + +* + +**Deprecated:** + +* + +**Removed:** + +* + +**Fixed:** + +* + +**Security:** + +* From 13b42b527b42e674324bab6005f1628007705c80 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 21 Dec 2024 06:35:35 +0000 Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit hooks --- tests/test_diffraction_objects.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/tests/test_diffraction_objects.py b/tests/test_diffraction_objects.py index 382f5776..220a4aad 100644 --- a/tests/test_diffraction_objects.py +++ b/tests/test_diffraction_objects.py @@ -36,7 +36,7 @@ "metadata": {"thing1": 1}, }, True, - False + False, ), ( # Different names, expect inequality { @@ -54,7 +54,7 @@ "metadata": {"thing1": 1, "thing2": "thing2"}, }, False, - True + True, ), ( # One without wavelength, expect inequality { @@ -71,7 +71,7 @@ "metadata": {"thing1": 1, "thing2": "thing2"}, }, False, - True + True, ), ( # Different wavelengths, expect inequality { @@ -89,7 +89,7 @@ "metadata": {"thing1": 1, "thing2": "thing2"}, }, False, - False + False, ), ( # Different scat_quantity, expect inequality { @@ -107,7 +107,7 @@ "metadata": {"thing1": 1, "thing2": "thing2"}, }, False, - True + True, ), ( # Different q xarray values, expect inequality { @@ -122,7 +122,7 @@ "metadata": {"thing1": 1, "thing2": "thing2"}, }, False, - True + True, ), ( # Different metadata, expect inequality { @@ -138,11 +138,13 @@ "metadata": {"thing1": 1, "thing2": "thing2"}, }, False, - True + True, ), ], ) -def test_diffraction_objects_equality(do_args_1, do_args_2, expected_equality, warning_expected, wavelength_warning_msg): +def test_diffraction_objects_equality( + do_args_1, do_args_2, expected_equality, warning_expected, wavelength_warning_msg +): if warning_expected: with pytest.warns(UserWarning, match=re.escape(wavelength_warning_msg)): do_1 = DiffractionObject(**do_args_1)