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