1
2
3 from logilab.common.testlib import TestCase, unittest_main
4 from logilab.common.graph import get_cycles, has_path
5
7
9 self.assertEqual(get_cycles({1:[2], 2:[3], 3:[1]}), [[1, 2, 3]])
10
12 self.assertEqual(get_cycles({1:[2], 2:[3], 3:[1, 4], 4:[3]}), [[1, 2, 3], [3, 4]])
13
15 self.assertEqual(get_cycles({1:[2], 2:[3], 3:[0], 0:[]}), [])
16
17
19
21 self.assertEquals(has_path({'A': ['B'], 'B': ['A']}, 'A', 'B'), ['B'])
22
24 self.assertEquals(has_path({'A': ['B'], 'B': ['A', 'C'], 'C': ['B']}, 'A', 'C'), ['B', 'C'])
25
27 self.assertEquals(has_path({'A': ['B'], 'B': ['A']}, 'A', 'C'), None)
28
30 self.assertEquals(has_path({'A': ['A']}, 'A', 'B'), None)
31
32 if __name__ == "__main__":
33 unittest_main()
34