|
8 | 8 |
|
9 | 9 | from diffpy.utils.diffraction_objects import XQUANTITIES, DiffractionObject |
10 | 10 |
|
11 | | - |
12 | | -def compare_dicts(dict1, dict2): |
13 | | - assert dict1.keys() == dict2.keys(), "Keys mismatch" |
14 | | - for key in dict1: |
15 | | - val1, val2 = dict1[key], dict2[key] |
16 | | - if isinstance(val1, np.ndarray) and isinstance(val2, np.ndarray): |
17 | | - assert np.allclose(val1, val2), f"Arrays for key '{key}' differ" |
18 | | - elif isinstance(val1, np.float64) and isinstance(val2, np.float64): |
19 | | - assert np.isclose(val1, val2), f"Float64 values for key '{key}' differ" |
20 | | - else: |
21 | | - assert val1 == val2, f"Values for key '{key}' differ: {val1} != {val2}" |
22 | | - |
23 | | - |
24 | | -def dicts_equal(dict1, dict2): |
25 | | - equal = True |
26 | | - print("") |
27 | | - print(dict1) |
28 | | - print(dict2) |
29 | | - if not dict1.keys() == dict2.keys(): |
30 | | - equal = False |
31 | | - for key in dict1: |
32 | | - val1, val2 = dict1[key], dict2[key] |
33 | | - if isinstance(val1, np.ndarray) and isinstance(val2, np.ndarray): |
34 | | - if not np.allclose(val1, val2): |
35 | | - equal = False |
36 | | - elif isinstance(val1, list) and isinstance(val2, list): |
37 | | - if not val1.all() == val2.all(): |
38 | | - equal = False |
39 | | - elif isinstance(val1, np.float64) and isinstance(val2, np.float64): |
40 | | - if not np.isclose(val1, val2): |
41 | | - equal = False |
42 | | - else: |
43 | | - if not val1 == val2: |
44 | | - equal = False |
45 | | - return equal |
46 | | - |
47 | | - |
48 | 11 | params = [ |
49 | 12 | ( # Default |
50 | 13 | {}, |
@@ -193,14 +156,9 @@ def dicts_equal(dict1, dict2): |
193 | 156 |
|
194 | 157 | @pytest.mark.parametrize("inputs1, inputs2, expected", params) |
195 | 158 | def test_diffraction_objects_equality(inputs1, inputs2, expected): |
196 | | - diffraction_object1 = DiffractionObject(**inputs1) |
197 | | - diffraction_object2 = DiffractionObject(**inputs2) |
198 | | - # diffraction_object1_attributes = [key for key in diffraction_object1.__dict__ if not key.startswith("_")] |
199 | | - # for i, attribute in enumerate(diffraction_object1_attributes): |
200 | | - # setattr(diffraction_object1, attribute, inputs1[i]) |
201 | | - # setattr(diffraction_object2, attribute, inputs2[i]) |
202 | | - print(dicts_equal(diffraction_object1.__dict__, diffraction_object2.__dict__), expected) |
203 | | - assert dicts_equal(diffraction_object1.__dict__, diffraction_object2.__dict__) == expected |
| 159 | + do_1 = DiffractionObject(**inputs1) |
| 160 | + do_2 = DiffractionObject(**inputs2) |
| 161 | + assert (do_1 == do_2) == expected |
204 | 162 |
|
205 | 163 |
|
206 | 164 | def test_on_xtype(): |
|
0 commit comments