def test_weighted_graph_label(self): g = nx.Graph() edges = [(1, 2), (2, 3), (3, 4), (4, 1)] g.add_edges_from(edges) g[1][2]["w"] = 1 g[2][3]["w"] = 2 g[3][4]["w"] = 3 g[4][1]["w"] = 4 g = StellarGraph(g, edge_weight_label="w") nodes = list(g.nodes()) n = 1 length = 1 seed = None p = 1.0 q = 1.0 biasedrw = BiasedRandomWalk(g) assert (len( biasedrw.run(nodes=nodes, n=n, p=p, q=q, length=length, seed=seed, weighted=True)) == 4) g = nx.Graph() edges = [(1, 2), (2, 3), (3, 4), (4, 1)] g.add_edges_from(edges) g[1][2]["wt"] = 1 g[2][3]["wt"] = 2 g[3][4]["wt"] = 3 g[4][1]["wt"] = 4 # Deliberately use wrong name for edge weight!? g = StellarGraph(g, edge_weight_label="w") nodes = list(g.nodes()) n = 1 length = 1 seed = None p = 1.0 q = 1.0 biasedrw = BiasedRandomWalk(g) with pytest.raises(ValueError): biasedrw.run(nodes=nodes, n=n, p=p, q=q, length=length, seed=seed, weighted=True)
def create_multi_test_graph(): """ Creates a multi graph for testing the SampledHeterogeneousBreadthFirstWalk class. The node ids are string or integers. :return: A multi graph with 8 nodes and 9 edges (with no self loops but 1 with only a self loop and 1 isolated node) in StellarGraph format. """ g = StellarGraph() g.add_nodes_from([0, 1, "5", 4, 7], label="user") g.add_nodes_from([2, 3, 6], label="movie") g.add_edges_from([(1, 2), (1, 3), ("5", 6), ("5", 3), (4, 2)], label="rating") g.add_edges_from([("5", 4), (1, 4), (1, "5")], label="friend") g.add_edges_from([(1, 4)], label="colleague") return g