def test_traverse(self): g = Digraph() g.arc(1, 2) g.arc(2, 3) g.arc(3, 6) g.arc(4) self.assertEquals([1, 4], g.roots()) self.assertEquals([1, 4, 2, 3, 6], list(g.traverse()))
def test_dups(self): g = Digraph() #g.arc(1, 2) g.arc(3, 1, 2) g.arc(4, 1, 2, 3) self.assertEquals([4, 1, 2, 3], list(g.traverse())) g = Digraph() g.arc(1, 2) g.arc(3, 2) g.arc(4, 2) g.arc(2, 6) self.assertEquals([1, 3, 4, 2, 6], list(g.traverse())) g = Digraph() g.arc(1, 3) g.arc(3, 2) g.arc(4, 2) g.arc(2, 6) g.arc(15, 2) self.assertEquals([1, 4, 15], g.roots()) self.assertEquals([1, 4, 15, 3, 2, 6], list(g.traverse())) '''