123456789101112131415161718192021222324252627282930313233343536373839 |
- """
- ego graph
- ---------
- """
- import networkx as nx
- from networkx.utils import edges_equal, nodes_equal
- class TestGeneratorEgo:
- def test_ego(self):
- G = nx.star_graph(3)
- H = nx.ego_graph(G, 0)
- assert nx.is_isomorphic(G, H)
- G.add_edge(1, 11)
- G.add_edge(2, 22)
- G.add_edge(3, 33)
- H = nx.ego_graph(G, 0)
- assert nx.is_isomorphic(nx.star_graph(3), H)
- G = nx.path_graph(3)
- H = nx.ego_graph(G, 0)
- assert edges_equal(H.edges(), [(0, 1)])
- H = nx.ego_graph(G, 0, undirected=True)
- assert edges_equal(H.edges(), [(0, 1)])
- H = nx.ego_graph(G, 0, center=False)
- assert edges_equal(H.edges(), [])
- def test_ego_distance(self):
- G = nx.Graph()
- G.add_edge(0, 1, weight=2, distance=1)
- G.add_edge(1, 2, weight=2, distance=2)
- G.add_edge(2, 3, weight=2, distance=1)
- assert nodes_equal(nx.ego_graph(G, 0, radius=3).nodes(), [0, 1, 2, 3])
- eg = nx.ego_graph(G, 0, radius=3, distance="weight")
- assert nodes_equal(eg.nodes(), [0, 1])
- eg = nx.ego_graph(G, 0, radius=3, distance="weight", undirected=True)
- assert nodes_equal(eg.nodes(), [0, 1])
- eg = nx.ego_graph(G, 0, radius=3, distance="distance")
- assert nodes_equal(eg.nodes(), [0, 1, 2])
|