|
12 | 12 |
|
13 | 13 |
|
14 | 14 | @pytest.mark.parametrize( |
15 | | - "do_args_1, do_args_2, expected_equality", |
| 15 | + "do_args_1, do_args_2, expected_equality, warning_expected", |
16 | 16 | [ |
17 | | - # Test when __eqal__ returns True and False |
| 17 | + # Test when __eq__ returns True and False |
18 | 18 | # Identical args, expect equality |
19 | 19 | ( |
20 | 20 | { |
|
36 | 36 | "metadata": {"thing1": 1}, |
37 | 37 | }, |
38 | 38 | True, |
| 39 | + False, |
39 | 40 | ), |
40 | 41 | ( # Different names, expect inequality |
41 | 42 | { |
|
53 | 54 | "metadata": {"thing1": 1, "thing2": "thing2"}, |
54 | 55 | }, |
55 | 56 | False, |
| 57 | + True, |
56 | 58 | ), |
57 | 59 | ( # One without wavelength, expect inequality |
58 | 60 | { |
|
69 | 71 | "metadata": {"thing1": 1, "thing2": "thing2"}, |
70 | 72 | }, |
71 | 73 | False, |
| 74 | + True, |
72 | 75 | ), |
73 | 76 | ( # Different wavelengths, expect inequality |
74 | 77 | { |
|
86 | 89 | "metadata": {"thing1": 1, "thing2": "thing2"}, |
87 | 90 | }, |
88 | 91 | False, |
| 92 | + False, |
89 | 93 | ), |
90 | 94 | ( # Different scat_quantity, expect inequality |
91 | 95 | { |
|
103 | 107 | "metadata": {"thing1": 1, "thing2": "thing2"}, |
104 | 108 | }, |
105 | 109 | False, |
| 110 | + True, |
106 | 111 | ), |
107 | 112 | ( # Different q xarray values, expect inequality |
108 | 113 | { |
|
117 | 122 | "metadata": {"thing1": 1, "thing2": "thing2"}, |
118 | 123 | }, |
119 | 124 | False, |
| 125 | + True, |
120 | 126 | ), |
121 | 127 | ( # Different metadata, expect inequality |
122 | 128 | { |
|
132 | 138 | "metadata": {"thing1": 1, "thing2": "thing2"}, |
133 | 139 | }, |
134 | 140 | False, |
| 141 | + True, |
135 | 142 | ), |
136 | 143 | ], |
137 | 144 | ) |
138 | | -def test_diffraction_objects_equality(do_args_1, do_args_2, expected_equality): |
139 | | - do_1 = DiffractionObject(**do_args_1) |
140 | | - do_2 = DiffractionObject(**do_args_2) |
| 145 | +def test_diffraction_objects_equality( |
| 146 | + do_args_1, do_args_2, expected_equality, warning_expected, wavelength_warning_msg |
| 147 | +): |
| 148 | + if warning_expected: |
| 149 | + with pytest.warns(UserWarning, match=re.escape(wavelength_warning_msg)): |
| 150 | + do_1 = DiffractionObject(**do_args_1) |
| 151 | + do_2 = DiffractionObject(**do_args_2) |
| 152 | + else: |
| 153 | + do_1 = DiffractionObject(**do_args_1) |
| 154 | + do_2 = DiffractionObject(**do_args_2) |
141 | 155 | assert (do_1 == do_2) == expected_equality |
142 | 156 |
|
143 | 157 |
|
|
0 commit comments