예제 #1
0
 def testDoubleAssignment(self):
     node1 = Node()
     node2 = Node()
     node1.set_data("BLAHBLAH")
     node2.set_data("ARRRRGHH")
     self.assertNotEquals(node1.get_data(),node2.get_data(),
                          "Global variables don't cause issues.")
예제 #2
0
 def testAddEdge(self):
     source = Node()
     source.set_data("BLECH")
     target = Node()
     target.set_data("ARGHH")
     self.graph.add_edge(source,target,1000)
     edge = self.graph.edges[0]
     self.assertEquals(edge.get_source().get_data(),"BLECH")
     self.assertEquals(edge.get_target().get_data(),"ARGHH")
예제 #3
0
    def testValidPath(self):
        for i in range(0,10):
            node = Node()
            node.set_data(str(i))
            self.graph.nodes.append(node)

        for i in range(0,8):
            edge = Edge()
            edge.set_info(self.graph.nodes[i],self.graph.nodes[i+1],i)
            self.graph.edges.append(edge)
            
        valid_path = self.graph.is_valid_path(self.graph.nodes[:-1])
        self.assertTrue(valid_path)
예제 #4
0
 def testFindEdge(self):
     source = Node()
     source.set_data("BLACK")
     target = Node()
     target.set_data("WHITE")
     self.graph.add_edge(source,target,1)
     
     edge = self.graph.find_edge(source,target)
     sourcedata = edge.get_source().get_data()
     targetdata = edge.get_target().get_data()
     
     self.assertEquals(sourcedata,"BLACK")
     self.assertEquals(targetdata,"WHITE")
예제 #5
0
 def testDijikstra(self):
     nodes = self.graph.nodes
     edges = self.graph.edges
     for i in range (0,7):
         node = Node()
         node.set_data(str(i))
         self.graph.nodes.append(node)
     for i in range (1,7):
         edge = Edge()
         self.graph.edges.append(edge)
         
     edges[0].set_info(nodes[0],nodes[3],2)
     edges[1].set_info(nodes[0],nodes[2],6)
     edges[2].set_info(nodes[1],nodes[2],3)
     edges[3].set_info(nodes[1],nodes[3],1)
     edges[4].set_info(nodes[2],nodes[3],1)
     edges[5].set_info(nodes[2],nodes[4],4)
     edges[6].set_info(nodes[3],nodes[4],6)
     
     edgelist = self.graph.dijikstra(nodes[0],nodes[4])
     correct_edgelist = [edges[0],edges[3],edges[4],edges[5]]
예제 #6
0
 def testAssignment(self):
     node = Node()
     node.set_data("BLARGH")
     self.assertEquals(node.get_data(),
                       "BLARGH","Assignment worked.")