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:** + +* diff --git a/tests/test_diffraction_objects.py b/tests/test_diffraction_objects.py index 26893904..220a4aad 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,20 @@ "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)