Skip to content

Commit fce1a32

Browse files
authored
Merge pull request diffpy#214 from bobleesj/test-func-std
Remove unused test util functions for comparing two dicts, use `__eq__` to compare DiffractionObjects
2 parents 3efd93b + 73b2f46 commit fce1a32

File tree

1 file changed

+3
-45
lines changed

1 file changed

+3
-45
lines changed

tests/test_diffraction_objects.py

+3-45
Original file line numberDiff line numberDiff line change
@@ -8,43 +8,6 @@
88

99
from diffpy.utils.diffraction_objects import XQUANTITIES, DiffractionObject
1010

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-
4811
params = [
4912
( # Default
5013
{},
@@ -193,14 +156,9 @@ def dicts_equal(dict1, dict2):
193156

194157
@pytest.mark.parametrize("inputs1, inputs2, expected", params)
195158
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
204162

205163

206164
def test_on_xtype():

0 commit comments

Comments
 (0)