diff options
Diffstat (limited to 'networkx/algorithms/centrality/tests/test_betweenness_centrality.py')
-rw-r--r-- | networkx/algorithms/centrality/tests/test_betweenness_centrality.py | 82 |
1 files changed, 41 insertions, 41 deletions
diff --git a/networkx/algorithms/centrality/tests/test_betweenness_centrality.py b/networkx/algorithms/centrality/tests/test_betweenness_centrality.py index f827427b..d563db91 100644 --- a/networkx/algorithms/centrality/tests/test_betweenness_centrality.py +++ b/networkx/algorithms/centrality/tests/test_betweenness_centrality.py @@ -1,5 +1,5 @@ +import pytest import networkx as nx -from networkx.testing import almost_equal def weighted_G(): @@ -24,7 +24,7 @@ class TestBetweennessCentrality: b = nx.betweenness_centrality(G, weight=None, normalized=False) b_answer = {0: 0.0, 1: 0.0, 2: 0.0, 3: 0.0, 4: 0.0} for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_K5_endpoints(self): """Betweenness centrality: K5 endpoints""" @@ -32,12 +32,12 @@ class TestBetweennessCentrality: b = nx.betweenness_centrality(G, weight=None, normalized=False, endpoints=True) b_answer = {0: 4.0, 1: 4.0, 2: 4.0, 3: 4.0, 4: 4.0} for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) # normalized = True case b = nx.betweenness_centrality(G, weight=None, normalized=True, endpoints=True) b_answer = {0: 0.4, 1: 0.4, 2: 0.4, 3: 0.4, 4: 0.4} for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_P3_normalized(self): """Betweenness centrality: P3 normalized""" @@ -45,7 +45,7 @@ class TestBetweennessCentrality: b = nx.betweenness_centrality(G, weight=None, normalized=True) b_answer = {0: 0.0, 1: 1.0, 2: 0.0} for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_P3(self): """Betweenness centrality: P3""" @@ -53,14 +53,14 @@ class TestBetweennessCentrality: b_answer = {0: 0.0, 1: 1.0, 2: 0.0} b = nx.betweenness_centrality(G, weight=None, normalized=False) for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_sample_from_P3(self): G = nx.path_graph(3) b_answer = {0: 0.0, 1: 1.0, 2: 0.0} b = nx.betweenness_centrality(G, k=3, weight=None, normalized=False, seed=1) for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) b = nx.betweenness_centrality(G, k=2, weight=None, normalized=False, seed=1) # python versions give different results with same seed b_approx1 = {0: 0.0, 1: 1.5, 2: 0.0} @@ -74,12 +74,12 @@ class TestBetweennessCentrality: b_answer = {0: 2.0, 1: 3.0, 2: 2.0} b = nx.betweenness_centrality(G, weight=None, normalized=False, endpoints=True) for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) # normalized = True case b_answer = {0: 2 / 3, 1: 1.0, 2: 2 / 3} b = nx.betweenness_centrality(G, weight=None, normalized=True, endpoints=True) for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_krackhardt_kite_graph(self): """Betweenness centrality: Krackhardt kite graph""" @@ -100,7 +100,7 @@ class TestBetweennessCentrality: b_answer[b] /= 2 b = nx.betweenness_centrality(G, weight=None, normalized=False) for n in sorted(G): - assert almost_equal(b[n], b_answer[n], places=3) + assert b[n] == pytest.approx(b_answer[n], abs=1e-3) def test_krackhardt_kite_graph_normalized(self): """Betweenness centrality: Krackhardt kite graph normalized""" @@ -119,7 +119,7 @@ class TestBetweennessCentrality: } b = nx.betweenness_centrality(G, weight=None, normalized=True) for n in sorted(G): - assert almost_equal(b[n], b_answer[n], places=3) + assert b[n] == pytest.approx(b_answer[n], abs=1e-3) def test_florentine_families_graph(self): """Betweenness centrality: Florentine families graph""" @@ -144,7 +144,7 @@ class TestBetweennessCentrality: b = nx.betweenness_centrality(G, weight=None, normalized=True) for n in sorted(G): - assert almost_equal(b[n], b_answer[n], places=3) + assert b[n] == pytest.approx(b_answer[n], abs=1e-3) def test_les_miserables_graph(self): """Betweenness centrality: Les Miserables graph""" @@ -231,7 +231,7 @@ class TestBetweennessCentrality: b = nx.betweenness_centrality(G, weight=None, normalized=True) for n in sorted(G): - assert almost_equal(b[n], b_answer[n], places=3) + assert b[n] == pytest.approx(b_answer[n], abs=1e-3) def test_ladder_graph(self): """Betweenness centrality: Ladder graph""" @@ -242,7 +242,7 @@ class TestBetweennessCentrality: b_answer[b] /= 2 b = nx.betweenness_centrality(G, weight=None, normalized=False) for n in sorted(G): - assert almost_equal(b[n], b_answer[n], places=3) + assert b[n] == pytest.approx(b_answer[n], abs=1e-3) def test_disconnected_path(self): """Betweenness centrality: disconnected path""" @@ -252,7 +252,7 @@ class TestBetweennessCentrality: b_answer = {0: 0, 1: 1, 2: 0, 3: 0, 4: 2, 5: 2, 6: 0} b = nx.betweenness_centrality(G, weight=None, normalized=False) for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_disconnected_path_endpoints(self): """Betweenness centrality: disconnected path endpoints""" @@ -262,11 +262,11 @@ class TestBetweennessCentrality: b_answer = {0: 2, 1: 3, 2: 2, 3: 3, 4: 5, 5: 5, 6: 3} b = nx.betweenness_centrality(G, weight=None, normalized=False, endpoints=True) for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) # normalized = True case b = nx.betweenness_centrality(G, weight=None, normalized=True, endpoints=True) for n in sorted(G): - assert almost_equal(b[n], b_answer[n] / 21) + assert b[n] == pytest.approx(b_answer[n] / 21, abs=1e-7) def test_directed_path(self): """Betweenness centrality: directed path""" @@ -275,7 +275,7 @@ class TestBetweennessCentrality: b = nx.betweenness_centrality(G, weight=None, normalized=False) b_answer = {0: 0.0, 1: 1.0, 2: 0.0} for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_directed_path_normalized(self): """Betweenness centrality: directed path normalized""" @@ -284,7 +284,7 @@ class TestBetweennessCentrality: b = nx.betweenness_centrality(G, weight=None, normalized=True) b_answer = {0: 0.0, 1: 0.5, 2: 0.0} for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) class TestWeightedBetweennessCentrality: @@ -294,7 +294,7 @@ class TestWeightedBetweennessCentrality: b = nx.betweenness_centrality(G, weight="weight", normalized=False) b_answer = {0: 0.0, 1: 0.0, 2: 0.0, 3: 0.0, 4: 0.0} for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_P3_normalized(self): """Weighted betweenness centrality: P3 normalized""" @@ -302,7 +302,7 @@ class TestWeightedBetweennessCentrality: b = nx.betweenness_centrality(G, weight="weight", normalized=True) b_answer = {0: 0.0, 1: 1.0, 2: 0.0} for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_P3(self): """Weighted betweenness centrality: P3""" @@ -310,7 +310,7 @@ class TestWeightedBetweennessCentrality: b_answer = {0: 0.0, 1: 1.0, 2: 0.0} b = nx.betweenness_centrality(G, weight="weight", normalized=False) for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_krackhardt_kite_graph(self): """Weighted betweenness centrality: Krackhardt kite graph""" @@ -333,7 +333,7 @@ class TestWeightedBetweennessCentrality: b = nx.betweenness_centrality(G, weight="weight", normalized=False) for n in sorted(G): - assert almost_equal(b[n], b_answer[n], places=3) + assert b[n] == pytest.approx(b_answer[n], abs=1e-3) def test_krackhardt_kite_graph_normalized(self): """Weighted betweenness centrality: @@ -355,7 +355,7 @@ class TestWeightedBetweennessCentrality: b = nx.betweenness_centrality(G, weight="weight", normalized=True) for n in sorted(G): - assert almost_equal(b[n], b_answer[n], places=3) + assert b[n] == pytest.approx(b_answer[n], abs=1e-3) def test_florentine_families_graph(self): """Weighted betweenness centrality: @@ -381,7 +381,7 @@ class TestWeightedBetweennessCentrality: b = nx.betweenness_centrality(G, weight="weight", normalized=True) for n in sorted(G): - assert almost_equal(b[n], b_answer[n], places=3) + assert b[n] == pytest.approx(b_answer[n], abs=1e-3) def test_les_miserables_graph(self): """Weighted betweenness centrality: Les Miserables graph""" @@ -468,7 +468,7 @@ class TestWeightedBetweennessCentrality: b = nx.betweenness_centrality(G, weight="weight", normalized=True) for n in sorted(G): - assert almost_equal(b[n], b_answer[n], places=3) + assert b[n] == pytest.approx(b_answer[n], abs=1e-3) def test_ladder_graph(self): """Weighted betweenness centrality: Ladder graph""" @@ -479,7 +479,7 @@ class TestWeightedBetweennessCentrality: b_answer[b] /= 2 b = nx.betweenness_centrality(G, weight="weight", normalized=False) for n in sorted(G): - assert almost_equal(b[n], b_answer[n], places=3) + assert b[n] == pytest.approx(b_answer[n], abs=1e-3) def test_G(self): """Weighted betweenness centrality: G""" @@ -487,7 +487,7 @@ class TestWeightedBetweennessCentrality: b_answer = {0: 2.0, 1: 0.0, 2: 4.0, 3: 3.0, 4: 4.0, 5: 0.0} b = nx.betweenness_centrality(G, weight="weight", normalized=False) for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_G2(self): """Weighted betweenness centrality: G2""" @@ -511,7 +511,7 @@ class TestWeightedBetweennessCentrality: b = nx.betweenness_centrality(G, weight="weight", normalized=False) for n in sorted(G): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) class TestEdgeBetweennessCentrality: @@ -521,7 +521,7 @@ class TestEdgeBetweennessCentrality: b = nx.edge_betweenness_centrality(G, weight=None, normalized=False) b_answer = dict.fromkeys(G.edges(), 1) for n in sorted(G.edges()): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_normalized_K5(self): """Edge betweenness centrality: K5""" @@ -529,7 +529,7 @@ class TestEdgeBetweennessCentrality: b = nx.edge_betweenness_centrality(G, weight=None, normalized=True) b_answer = dict.fromkeys(G.edges(), 1 / 10) for n in sorted(G.edges()): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_C4(self): """Edge betweenness centrality: C4""" @@ -537,7 +537,7 @@ class TestEdgeBetweennessCentrality: b = nx.edge_betweenness_centrality(G, weight=None, normalized=True) b_answer = {(0, 1): 2, (0, 3): 2, (1, 2): 2, (2, 3): 2} for n in sorted(G.edges()): - assert almost_equal(b[n], b_answer[n] / 6) + assert b[n] == pytest.approx(b_answer[n] / 6, abs=1e-7) def test_P4(self): """Edge betweenness centrality: P4""" @@ -545,7 +545,7 @@ class TestEdgeBetweennessCentrality: b = nx.edge_betweenness_centrality(G, weight=None, normalized=False) b_answer = {(0, 1): 3, (1, 2): 4, (2, 3): 3} for n in sorted(G.edges()): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_normalized_P4(self): """Edge betweenness centrality: P4""" @@ -553,7 +553,7 @@ class TestEdgeBetweennessCentrality: b = nx.edge_betweenness_centrality(G, weight=None, normalized=True) b_answer = {(0, 1): 3, (1, 2): 4, (2, 3): 3} for n in sorted(G.edges()): - assert almost_equal(b[n], b_answer[n] / 6) + assert b[n] == pytest.approx(b_answer[n] / 6, abs=1e-7) def test_balanced_tree(self): """Edge betweenness centrality: balanced tree""" @@ -561,7 +561,7 @@ class TestEdgeBetweennessCentrality: b = nx.edge_betweenness_centrality(G, weight=None, normalized=False) b_answer = {(0, 1): 12, (0, 2): 12, (1, 3): 6, (1, 4): 6, (2, 5): 6, (2, 6): 6} for n in sorted(G.edges()): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) class TestWeightedEdgeBetweennessCentrality: @@ -571,7 +571,7 @@ class TestWeightedEdgeBetweennessCentrality: b = nx.edge_betweenness_centrality(G, weight="weight", normalized=False) b_answer = dict.fromkeys(G.edges(), 1) for n in sorted(G.edges()): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_C4(self): """Edge betweenness centrality: C4""" @@ -579,7 +579,7 @@ class TestWeightedEdgeBetweennessCentrality: b = nx.edge_betweenness_centrality(G, weight="weight", normalized=False) b_answer = {(0, 1): 2, (0, 3): 2, (1, 2): 2, (2, 3): 2} for n in sorted(G.edges()): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_P4(self): """Edge betweenness centrality: P4""" @@ -587,7 +587,7 @@ class TestWeightedEdgeBetweennessCentrality: b = nx.edge_betweenness_centrality(G, weight="weight", normalized=False) b_answer = {(0, 1): 3, (1, 2): 4, (2, 3): 3} for n in sorted(G.edges()): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_balanced_tree(self): """Edge betweenness centrality: balanced tree""" @@ -595,7 +595,7 @@ class TestWeightedEdgeBetweennessCentrality: b = nx.edge_betweenness_centrality(G, weight="weight", normalized=False) b_answer = {(0, 1): 12, (0, 2): 12, (1, 3): 6, (1, 4): 6, (2, 5): 6, (2, 6): 6} for n in sorted(G.edges()): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_weighted_graph(self): eList = [ @@ -624,7 +624,7 @@ class TestWeightedEdgeBetweennessCentrality: (3, 4): 0.5, } for n in sorted(G.edges()): - assert almost_equal(b[n], b_answer[n]) + assert b[n] == pytest.approx(b_answer[n], abs=1e-7) def test_normalized_weighted_graph(self): eList = [ @@ -654,4 +654,4 @@ class TestWeightedEdgeBetweennessCentrality: } norm = len(G) * (len(G) - 1) / 2 for n in sorted(G.edges()): - assert almost_equal(b[n], b_answer[n] / norm) + assert b[n] == pytest.approx(b_answer[n] / norm, abs=1e-7) |