|
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