Skip to content
Snippets Groups Projects
Unverified Commit 1a08e0cd authored by Erik Johnston's avatar Erik Johnston Committed by GitHub
Browse files

Fix event chain bg update. (#9118)

We passed in a graph to `sorted_topologically` which didn't have an
entry for each node (as we dropped nodes with no edges).
parent d2479c68
No related branches found
No related tags found
Loading
Improve efficiency of large state resolutions.
......@@ -92,7 +92,7 @@ def sorted_topologically(
node = heapq.heappop(zero_degree)
yield node
for edge in reverse_graph[node]:
for edge in reverse_graph.get(node, []):
if edge in degree_map:
degree_map[edge] -= 1
if degree_map[edge] == 0:
......
......@@ -56,6 +56,14 @@ class SortTopologically(TestCase):
graph = {} # type: Dict[int, List[int]]
self.assertEqual(list(sorted_topologically([], graph)), [])
def test_handle_empty_graph(self):
"Test that a graph where a node doesn't have an entry is treated as empty"
graph = {} # type: Dict[int, List[int]]
# For disconnected nodes the output is simply sorted.
self.assertEqual(list(sorted_topologically([1, 2], graph)), [1, 2])
def test_disconnected(self):
"Test that a graph with no edges work"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment