summary refs log tree commit diff
path: root/tests/util/test_itertools.py
diff options
context:
space:
mode:
authorPatrick Cloke <patrickc@matrix.org>2021-01-25 08:07:39 -0500
committerPatrick Cloke <patrickc@matrix.org>2021-01-25 08:07:39 -0500
commita574751a873cef38e3b002d97c48d60aa4d8d6f9 (patch)
tree464d95b157cc55a51d3690408f82f2a9141150dc /tests/util/test_itertools.py
parentMerge remote-tracking branch 'origin/release-v1.26.0' into matrix-org-hotfixes (diff)
parentFix chain cover update to handle events with duplicate auth events (#9210) (diff)
downloadsynapse-a574751a873cef38e3b002d97c48d60aa4d8d6f9.tar.xz
Merge remote-tracking branch 'origin/release-v1.26.0' into matrix-org-hotfixes
Diffstat (limited to 'tests/util/test_itertools.py')
-rw-r--r--tests/util/test_itertools.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/util/test_itertools.py b/tests/util/test_itertools.py

index 522c8061f9..1ef0af8e8f 100644 --- a/tests/util/test_itertools.py +++ b/tests/util/test_itertools.py
@@ -92,3 +92,15 @@ class SortTopologically(TestCase): # Valid orderings are `[1, 3, 2, 4]` or `[1, 2, 3, 4]`, but we should # always get the same one. self.assertEqual(list(sorted_topologically([4, 3, 2, 1], graph)), [1, 2, 3, 4]) + + def test_duplicates(self): + "Test that a graph with duplicate edges work" + graph = {1: [], 2: [1, 1], 3: [2, 2], 4: [3]} # type: Dict[int, List[int]] + + self.assertEqual(list(sorted_topologically([4, 3, 2, 1], graph)), [1, 2, 3, 4]) + + def test_multiple_paths(self): + "Test that a graph with multiple paths between two nodes work" + graph = {1: [], 2: [1], 3: [2], 4: [3, 2, 1]} # type: Dict[int, List[int]] + + self.assertEqual(list(sorted_topologically([4, 3, 2, 1], graph)), [1, 2, 3, 4])