Beispiel #1
0
 def testAvoidCircularReference(self):
     graph = {1: set(), 2: set([1])}
     expected = deepcopy(graph)
     topo_prioritize(2, graph)
     self.assertEquals(graph, expected)
     sorted = toposort_flatten(graph)
     self.assertEqual(toposort_flatten(graph), [1, 2])
Beispiel #2
0
 def testAlreadyPrioritized(self):
     graph = {1: set([2]), 2: set()}
     expected = deepcopy(graph)
     topo_prioritize(2, graph)
     self.assertEquals(graph, expected)
     sorted = toposort_flatten(graph)
     self.assertEqual(toposort_flatten(graph), [2, 1])
 def testAvoidCircularReference(self):
     graph = {1: set(),
              2: set([1])}
     expected = deepcopy(graph)
     topo_prioritize(2, graph)
     self.assertEquals(graph, expected)
     sorted = toposort_flatten(graph)
     self.assertEqual(toposort_flatten(graph), [1, 2])
 def testAlreadyPrioritized(self):
     graph = {1: set([2]),
              2: set()}
     expected = deepcopy(graph)
     topo_prioritize(2, graph)
     self.assertEquals(graph, expected)
     sorted = toposort_flatten(graph)
     self.assertEqual(toposort_flatten(graph), [2, 1])
Beispiel #5
0
 def testMiddle(self):
     #
     graph = {1: set(), 2: set([3]), 3: set()}
     expected = deepcopy(graph)
     expected[1].add(2)
     topo_prioritize(2, graph)
     self.assertEquals(graph, expected)
     self.assertEqual(toposort_flatten(graph), [3, 2, 1])
Beispiel #6
0
 def testSimple(self):
     graph = {1: set(), 2: set()}
     expected = deepcopy(graph)
     expected[1].add(2)
     topo_prioritize(2, graph)
     self.assertEquals(graph, expected)
     sorted = toposort_flatten(graph)
     self.assertEqual(toposort_flatten(graph), [2, 1])
 def testSimple(self):
     graph = {1: set(),
              2: set()}
     expected = deepcopy(graph)
     expected[1].add(2)
     topo_prioritize(2, graph)
     self.assertEquals(graph, expected)
     sorted = toposort_flatten(graph)
     self.assertEqual(toposort_flatten(graph), [2, 1])
 def testMiddle(self):
     #
     graph = {1: set(),
              2: set([3]),
              3: set()}
     expected = deepcopy(graph)
     expected[1].add(2)
     topo_prioritize(2, graph)
     self.assertEquals(graph, expected)
     self.assertEqual(toposort_flatten(graph), [3, 2, 1])
 def testComplex(self):
     # 1, 2->3->4->5, 2->5, (6,7)->8,
     graph = {1: set(),
              2: set([3,5]),
              3: set([4]),
              4: set([5]),
              5: set(),
              6: set([8]),
              7: set([8]),
              8: set(),
     }
     expected = deepcopy(graph)
     for i in (1,6,7,8):
         expected[i].add(2)
     topo_prioritize(2, graph)
     self.assertEquals(graph, expected)
     sorted = toposort_flatten(graph)
     for i in (1,6,7,8):
         self.assertLess(sorted.index(2), sorted.index(i))
     for i in (3,4,5):
         self.assertLess(sorted.index(i), sorted.index(2))
Beispiel #10
0
 def testComplex(self):
     # 1, 2->3->4->5, 2->5, (6,7)->8,
     graph = {
         1: set(),
         2: set([3, 5]),
         3: set([4]),
         4: set([5]),
         5: set(),
         6: set([8]),
         7: set([8]),
         8: set(),
     }
     expected = deepcopy(graph)
     for i in (1, 6, 7, 8):
         expected[i].add(2)
     topo_prioritize(2, graph)
     self.assertEquals(graph, expected)
     sorted = toposort_flatten(graph)
     for i in (1, 6, 7, 8):
         self.assertLess(sorted.index(2), sorted.index(i))
     for i in (3, 4, 5):
         self.assertLess(sorted.index(i), sorted.index(2))