Esempio n. 1
0
def test_to_networkx_graph():
    H = UndirectedHypergraph()
    H.read("tests/data/basic_undirected_hypergraph.txt")

    G = undirected_graph_transformations.to_networkx_graph(H)

    H_nodes = H.get_node_set()
    G_nodes = G.nodes.keys()

    assert H_nodes == set(G_nodes)

    H_nodes_attributes = [H.get_node_attributes(node) for node in H_nodes]
    for node in G_nodes:
        assert G.nodes[node] in H_nodes_attributes

    for hyperedge_id in H.hyperedge_id_iterator():
        hyperedge_nodes = H.get_hyperedge_nodes(hyperedge_id)
        for node_a in hyperedge_nodes:
            for node_b in hyperedge_nodes:
                if node_a != node_b:
                    assert G.has_edge(node_a, node_b)
                else:
                    if G.has_edge(node_a, node_b):
                        assert False

    # Try transforming an invalid undirected hypergraph
    try:
        undirected_graph_transformations.to_networkx_graph("invalid H")
        assert False
    except TypeError:
        pass
    except BaseException as e:
        assert False, e
def test_to_networkx_graph():
    H = UndirectedHypergraph()
    H.read("tests/data/basic_undirected_hypergraph.txt")

    G = undirected_graph_transformations.to_networkx_graph(H)

    H_nodes = H.get_node_set()
    G_nodes = G.node.keys()

    assert H_nodes == set(G_nodes)

    H_nodes_attributes = [H.get_node_attributes(node) for node in H_nodes]
    for node in G_nodes:
        assert G.node[node] in H_nodes_attributes

    for hyperedge_id in H.hyperedge_id_iterator():
        hyperedge_nodes = H.get_hyperedge_nodes(hyperedge_id)
        for node_a in hyperedge_nodes:
            for node_b in hyperedge_nodes:
                if node_a != node_b:
                    assert G.has_edge(node_a, node_b)
                else:
                    if G.has_edge(node_a, node_b):
                        assert False

    # Try transforming an invalid undirected hypergraph
    try:
        undirected_graph_transformations.to_networkx_graph("invalid H")
        assert False
    except TypeError:
        pass
    except BaseException as e:
        assert False, e
Esempio n. 3
0
def test_from_networkx_graph():
    H = UndirectedHypergraph()
    H.read("tests/data/basic_undirected_hypergraph.txt")

    nxG = undirected_graph_transformations.to_networkx_graph(H)

    G = undirected_graph_transformations.from_networkx_graph(nxG)

    nxG_nodes = nxG.nodes.keys()
    G_nodes = G.get_node_set()

    assert G_nodes == set(nxG_nodes)

    for edge in nxG.edges():
        assert G.has_hyperedge((edge[0], edge[1]))

    # Try transforming an invalid undirected hypergraph
    try:
        undirected_graph_transformations.from_networkx_graph("G")
        assert False
    except TypeError:
        pass
    except BaseException as e:
        assert False, e
def test_from_networkx_graph():
    H = UndirectedHypergraph()
    H.read("tests/data/basic_undirected_hypergraph.txt")

    nxG = undirected_graph_transformations.to_networkx_graph(H)

    G = undirected_graph_transformations.from_networkx_graph(nxG)

    nxG_nodes = nxG.node.keys()
    G_nodes = G.get_node_set()

    assert G_nodes == set(nxG_nodes)

    for edge in nxG.edges_iter():
        assert G.has_hyperedge((edge[0], edge[1]))

    # Try transforming an invalid undirected hypergraph
    try:
        undirected_graph_transformations.from_networkx_graph("G")
        assert False
    except TypeError:
        pass
    except BaseException as e:
        assert False, e