def test_descendants(self): a = [] b = [] c = [] d = [] a.append(b) a.append(c) b.append(d) c.append(d) graph = ObjectGraph([a, b, c, d]) self.assertCountEqual(graph.descendants(a), [a, b, c, d]) self.assertCountEqual(graph.descendants(b), [b, d]) self.assertCountEqual(graph.descendants(c), [c, d]) self.assertCountEqual(graph.descendants(d), [d])