Exemple #1
0
def create_mock_graph_tool(label='network_label', num_nodes=100, num_edges=100, data={}):
    edgeList = {}
    n = graph_tool.Graph()
    n.gp.label = n.new_gp("string")
    n.gp.label = label
    n.vp.name = n.new_vp("string")
    n.ep.id = n.new_ep("int")
    for n_id in range(num_nodes):
        v = n.add_vertex()
        n.vp.name[v] = hex(n_id)
    ID = num_nodes
    for e_id in range(num_edges):
        n1 = random.randint(0, num_nodes-1)
        n2 = random.randint(0, num_nodes-2)
        val = random.choice([1, 1.5, 'a', True])
        edgeList[ID] = (n1, n2)
        e = n.add_edge(n.vertex(n1), n.vertex(n2))
        n.ep.id[e] = ID
        n.ep.value = n.new_ep(GraphToolAdapter.get_gt_type(val))  # TODO: avoid destructive assiginment
        n.ep.value[e] = val
        ID += 1
    for k, v in data.items():
        if k not in n.gp:
            n.gp[k] = n.new_gp(GraphToolAdapter.get_gt_type(v))
        n.gp[k] = v
    return n, edgeList
Exemple #2
0
 def test_get_gt_type(self):
     self.assertEqual(GraphToolAdapter.get_gt_type(1), 'int')
     self.assertEqual(GraphToolAdapter.get_gt_type(1.0), 'float')
     self.assertEqual(GraphToolAdapter.get_gt_type(True), 'bool')
     self.assertEqual(GraphToolAdapter.get_gt_type("asdf"), 'string')
     self.assertEqual(GraphToolAdapter.get_gt_type({1: "asdf"}), 'object')
     self.assertEqual(GraphToolAdapter.get_gt_type([1]), 'vector<int>')
     self.assertEqual(GraphToolAdapter.get_gt_type([1.0]), 'vector<float>')
     self.assertEqual(GraphToolAdapter.get_gt_type([True]), 'vector<bool>')
     self.assertEqual(GraphToolAdapter.get_gt_type(["asdf"]),
                      'vector<string>')
     self.assertEqual(GraphToolAdapter.get_gt_type([{1: "asdf"}]), 'object')
Exemple #3
0
def create_mock_planar(label='network_label', dim=[10 ,10], data={}):
    edgeList = {}
    n = graph_tool.generation.lattice(dim)
    n.gp.label = n.new_gp("string")
    n.gp.label = label
    n.vp.name = n.new_vp("string")
    n.ep.id = n.new_ep("int")
    ID = 0
    for v in n.vertices():
        n.vp.name[v] = hex(ID)
        ID += 1
    for edge in n.edges():
        source_node, target_node = edge.source(), edge.target()
        edgeList[ID] = (int(source_node), int(target_node))
        ID += 1
    for k, v in data.items():
        if k not in n.gp:
            n.gp[k] = n.new_gp(GraphToolAdapter.get_gt_type(v))
        n.gp[k] = v
    return n, edgeList