test_hierarchy.py 941 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import pytest
  2. import networkx as nx
  3. def test_hierarchy_exception():
  4. G = nx.cycle_graph(5)
  5. pytest.raises(nx.NetworkXError, nx.flow_hierarchy, G)
  6. def test_hierarchy_cycle():
  7. G = nx.cycle_graph(5, create_using=nx.DiGraph())
  8. assert nx.flow_hierarchy(G) == 0.0
  9. def test_hierarchy_tree():
  10. G = nx.full_rary_tree(2, 16, create_using=nx.DiGraph())
  11. assert nx.flow_hierarchy(G) == 1.0
  12. def test_hierarchy_1():
  13. G = nx.DiGraph()
  14. G.add_edges_from([(0, 1), (1, 2), (2, 3), (3, 1), (3, 4), (0, 4)])
  15. assert nx.flow_hierarchy(G) == 0.5
  16. def test_hierarchy_weight():
  17. G = nx.DiGraph()
  18. G.add_edges_from(
  19. [
  20. (0, 1, {"weight": 0.3}),
  21. (1, 2, {"weight": 0.1}),
  22. (2, 3, {"weight": 0.1}),
  23. (3, 1, {"weight": 0.1}),
  24. (3, 4, {"weight": 0.3}),
  25. (0, 4, {"weight": 0.3}),
  26. ]
  27. )
  28. assert nx.flow_hierarchy(G, weight="weight") == 0.75