class ReplacementTests(unittest.TestCase): def setUp(self): self.graph = Graph(nodes = range(1, 6)) self.graph.addedge((1, 2)) self.graph.addedge((2, 3)) self.graph.addedge((3, 1)) self.graph.addedge((4, 5)) def testLenWhenNodeReplacement(self): l = len(self.graph) self.graph.replacenode(2, 21) self.assertEqual(len(self.graph), l) def testNodeReplacement(self): self.graph.addedge((2, 2)) self.graph.replacenode(2, 21) self.assert_(2 not in self.graph.nodes) self.assert_(21 in self.graph.nodes) self.assert_((1, 21) in self.graph.edges) self.assert_((21, 3) in self.graph.edges) def testEdgeReplacement(self): self.graph.replaceedge((1, 2), (4, 3)) self.assert_((1, 2) not in self.graph.edges) self.assert_((4, 3) in self.graph.edges)
class PredSuccTests(unittest.TestCase): def setUp(self): self.graph = Graph(nodes = range(1, 8)) self.graph.addedge((1, 3)) self.graph.addedge((2, 3)) self.graph.addedge((3, 4)) self.graph.addedge((4, 5)) self.graph.addedge((5, 6)) self.graph.addedge((7, 5)) self.eo4 = eo4 = EmptyObject(4) self.eo3 = eo3 = EmptyObject(3) self.eo5 = eo5 = EmptyObject(5) self.graph.replacenode(4, eo4) self.graph.replacenode(3, eo3) self.graph.replacenode(5, eo5) def testInitialPredSet(self): self.assertEqual(self.graph.pred(4), set([])) self.assertEqual(self.graph.pred(self.eo4), set([1, 2, self.eo3])) def testInitialSuccSet(self): self.assertEqual(self.graph.succ(4), set([])) self.assertEqual(self.graph.succ(self.eo3), set([self.eo4, self.eo5, 6])) def testPredSet(self): self.graph.replacenode(self.eo3, 3) self.assertEqual(self.graph.pred(self.eo4), set([3])) self.graph.replacenode(3, self.eo3) self.assertEqual(self.graph.pred(self.eo4), set([1, 2, self.eo3])) def testSuccSet(self): self.graph.replacenode(self.eo4, 4) self.assertEqual(self.graph.succ(self.eo3), set([4])) self.graph.replacenode(4, self.eo4) self.assertEqual(self.graph.succ(self.eo3), set([self.eo4, self.eo5, 6]))