test_vitality.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import networkx as nx
  2. class TestClosenessVitality:
  3. def test_unweighted(self):
  4. G = nx.cycle_graph(3)
  5. vitality = nx.closeness_vitality(G)
  6. assert vitality == {0: 2, 1: 2, 2: 2}
  7. def test_weighted(self):
  8. G = nx.Graph()
  9. nx.add_cycle(G, [0, 1, 2], weight=2)
  10. vitality = nx.closeness_vitality(G, weight="weight")
  11. assert vitality == {0: 4, 1: 4, 2: 4}
  12. def test_unweighted_digraph(self):
  13. G = nx.DiGraph(nx.cycle_graph(3))
  14. vitality = nx.closeness_vitality(G)
  15. assert vitality == {0: 4, 1: 4, 2: 4}
  16. def test_weighted_digraph(self):
  17. G = nx.DiGraph()
  18. nx.add_cycle(G, [0, 1, 2], weight=2)
  19. nx.add_cycle(G, [2, 1, 0], weight=2)
  20. vitality = nx.closeness_vitality(G, weight="weight")
  21. assert vitality == {0: 8, 1: 8, 2: 8}
  22. def test_weighted_multidigraph(self):
  23. G = nx.MultiDiGraph()
  24. nx.add_cycle(G, [0, 1, 2], weight=2)
  25. nx.add_cycle(G, [2, 1, 0], weight=2)
  26. vitality = nx.closeness_vitality(G, weight="weight")
  27. assert vitality == {0: 8, 1: 8, 2: 8}
  28. def test_disconnecting_graph(self):
  29. """Tests that the closeness vitality of a node whose removal
  30. disconnects the graph is negative infinity.
  31. """
  32. G = nx.path_graph(3)
  33. assert nx.closeness_vitality(G, node=1) == -float("inf")