Skip to content

Commit 7cb7a8b

Browse files
committed
Add unit tests
1 parent 5c72498 commit 7cb7a8b

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

tests/unit/test_diff.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,38 @@ def test_diff_children():
4949
assert diff.has_diffs()
5050

5151
# TODO: test print_detailed
52+
53+
54+
def test_order_children_default(backend_a, backend_b):
55+
"""Test that order_children_default is properly called when calling get_children."""
56+
57+
class MyDiff(Diff):
58+
@classmethod
59+
def order_children_default(cls, children):
60+
"""Return the children ordered in alphabetical order."""
61+
keys = sorted(children.keys(), reverse=False)
62+
for key in keys:
63+
yield children[key]
64+
65+
# Validating default order method
66+
diff_a_b = backend_a.diff_from(backend_b, diff_class=MyDiff)
67+
children = diff_a_b.get_children()
68+
children_names = [child.name for child in children]
69+
assert children_names == ["atl", "nyc", "rdu", "sfo"]
70+
71+
72+
def test_order_children_custom(backend_a, backend_b):
73+
"""Test that a custom order_children method is properly called when calling get_children."""
74+
75+
class MyDiff(Diff):
76+
@classmethod
77+
def order_children_site(cls, children):
78+
"""Return the site children ordered in reverse-alphabetical order."""
79+
keys = sorted(children.keys(), reverse=True)
80+
for key in keys:
81+
yield children[key]
82+
83+
diff_a_b = backend_a.diff_from(backend_b, diff_class=MyDiff)
84+
children = diff_a_b.get_children()
85+
children_names = [child.name for child in children]
86+
assert children_names == ["sfo", "rdu", "nyc", "atl"]

0 commit comments

Comments
 (0)