def two_vertex_should_fail_test(self):
     v1 = Vertex(23, 1, 1)
     v2 = Vertex(24, 2, 1)
     e = SimpleEdge(21, 24, 123)
     g = gf.build_graph_from_vertices_edges([v1, v2], [e])
     self.assertTrue(len(g.vertices) == 2)
     self.assertTrue(len(g.edges) == 0)
 def one_vertex_should_be_no_edge_test(self):
     v = Vertex(23, 1, 2)
     g = gf.build_graph_from_vertices_edges([v], [])
     self.assertTrue(len(g.vertices) == 1)
     self.assertEqual(g.vertices[0].lat, v.lat)
     self.assertEqual(g.vertices[0].lon, v.lon)
     self.assertTrue(len(g.edges) == 0)
Example #3
0
def contract(graph):
    all_new_edges = find_new_edges(graph)
    filtered_edges = remove_duplicates(all_new_edges)
    node_ids = gather_node_ids(filtered_edges)
    nodes = get_nodes(graph, node_ids)

    return graphfactory.build_graph_from_vertices_edges(nodes, filtered_edges)
 def test_two_vertex_should_fail_test(self):
     v1 = Vertex(23, VertexData(1, 1))
     v2 = Vertex(24, VertexData(2, 1))
     e = Edge(21, 24, True, True, EdgeData(123, "", 50, ""))
     g = gf.build_graph_from_vertices_edges([v1, v2], [e])
     self.assertTrue(len(g.vertices) == 2)
     self.assertTrue(len(g.edges) == 0)
 def two_vertex_should_be_one_edge_test(self):
     v1 = Vertex(23, 1, 1)
     v2 = Vertex(24, 2, 1)
     e = SimpleEdge(23, 24, 123)
     g = gf.build_graph_from_vertices_edges([v1, v2], [e])
     self.assertTrue(len(g.vertices) == 2)
     self.assertTrue(len(g.edges) == 1)
     self.assertEquals(g.edges[0].length, 123)
 def test_two_vertex_should_be_one_edge_test(self):
     v1 = Vertex(23, VertexData(1, 1))
     v2 = Vertex(24, VertexData(2, 1))
     e = Edge(23, 24, True, True, EdgeData(123, "", 50, ""))
     g = gf.build_graph_from_vertices_edges([v1, v2], [e])
     self.assertTrue(len(g.vertices) == 2)
     self.assertTrue(len(g.edges) == 1)
     self.assertEqual(g.edges[0].data.length, 123)
 def three_vertex_should_three_edges_test(self):
     v1 = Vertex(23, 1, 2)
     v2 = Vertex(24, 3, 4)
     v3 = Vertex(1, 5, 6)
     e1 = SimpleEdge(v1.id, v2.id, 123)
     e2 = SimpleEdge(v2.id, v3.id, 1234)
     e3 = SimpleEdge(v1.id, v3.id, 12345)
     g = gf.build_graph_from_vertices_edges([v1, v2, v3], [e1, e2, e3])
     self.assertTrue(len(g.vertices) == 3)
     self.assertTrue(len(g.edges) == 3)
 def test_three_vertex_should_three_edges_test(self):
     v1 = Vertex(23, VertexData(1, 1))
     v2 = Vertex(24, VertexData(2, 1))
     v3 = Vertex(1, VertexData(5, 6))
     e1 = Edge(v1.id, v2.id, True, True, EdgeData(123, "", 50, ""))
     e2 = Edge(v2.id, v3.id, True, True, EdgeData(123, "", 50, ""))
     e3 = Edge(v1.id, v3.id, True, True, EdgeData(123, "", 50, ""))
     g = gf.build_graph_from_vertices_edges([v1, v2, v3], [e1, e2, e3])
     self.assertTrue(len(g.vertices) == 3)
     self.assertTrue(len(g.edges) == 3)
Example #9
0
    def contract(self):
        self.out_edges_per_node = self._get_out_edges()
        all_new_edges = self._find_new_edges()
        node_ids = self._gather_node_ids(all_new_edges)
        nodes = self._get_nodes(node_ids)

        print(
            f"finished contracting: {len(all_new_edges)}/{len(self.graph.edges)} edges and {len(nodes)}/{len(self.graph.vertices)} vertices."
        )

        return graphfactory.build_graph_from_vertices_edges(nodes, all_new_edges)
 def empty_input_test(self):
     g = gf.build_graph_from_vertices_edges([], [])
     self.assertTrue(len(g.vertices) == 0)
     self.assertTrue(len(g.edges) == 0)
 def test_one_vertex_should_be_no_edge_test(self):
     v = Vertex(23, VertexData(1, 2))
     g = gf.build_graph_from_vertices_edges([v], [])
     self.assertTrue(len(g.vertices) == 1)
     self.assertEqual(g.vertices[0].data, v.data)
     self.assertTrue(len(g.edges) == 0)
Example #12
0
def computeLCCGraph(graph):
    lcc = computeLCC(graph)
    new_nodes = [graph.vertices[id] for id in lcc]
    return graphfactory.build_graph_from_vertices_edges(new_nodes, graph.edges)