예제 #1
0
    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()))
예제 #2
0
    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()))

        '''