Mercurial > repos > shellac > sam_consensus_v3
comparison env/lib/python3.9/site-packages/networkx/algorithms/centrality/tests/test_group.py @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author | shellac |
---|---|
date | Mon, 22 Mar 2021 18:12:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4f3585e2f14b |
---|---|
1 """ | |
2 Tests for Group Centrality Measures | |
3 """ | |
4 | |
5 | |
6 import pytest | |
7 import networkx as nx | |
8 | |
9 | |
10 class TestGroupBetweennessCentrality: | |
11 def test_group_betweenness_single_node(self): | |
12 """ | |
13 Group betweenness centrality for single node group | |
14 """ | |
15 G = nx.path_graph(5) | |
16 C = [1] | |
17 b = nx.group_betweenness_centrality(G, C, weight=None, normalized=False) | |
18 b_answer = 3.0 | |
19 assert b == b_answer | |
20 | |
21 def test_group_betweenness_normalized(self): | |
22 """ | |
23 Group betweenness centrality for group with more than | |
24 1 node and normalized | |
25 """ | |
26 G = nx.path_graph(5) | |
27 C = [1, 3] | |
28 b = nx.group_betweenness_centrality(G, C, weight=None, normalized=True) | |
29 b_answer = 1.0 | |
30 assert b == b_answer | |
31 | |
32 def test_group_betweenness_value_zero(self): | |
33 """ | |
34 Group betweenness centrality value of 0 | |
35 """ | |
36 G = nx.cycle_graph(6) | |
37 C = [0, 1, 5] | |
38 b = nx.group_betweenness_centrality(G, C, weight=None) | |
39 b_answer = 0.0 | |
40 assert b == b_answer | |
41 | |
42 def test_group_betweenness_disconnected_graph(self): | |
43 """ | |
44 Group betweenness centrality in a disconnected graph | |
45 """ | |
46 G = nx.path_graph(5) | |
47 G.remove_edge(0, 1) | |
48 C = [1] | |
49 b = nx.group_betweenness_centrality(G, C, weight=None) | |
50 b_answer = 0.0 | |
51 assert b == b_answer | |
52 | |
53 def test_group_betweenness_node_not_in_graph(self): | |
54 """ | |
55 Node(s) in C not in graph, raises NodeNotFound exception | |
56 """ | |
57 with pytest.raises(nx.NodeNotFound): | |
58 b = nx.group_betweenness_centrality(nx.path_graph(5), [6, 7, 8]) | |
59 | |
60 | |
61 class TestGroupClosenessCentrality: | |
62 def test_group_closeness_single_node(self): | |
63 """ | |
64 Group closeness centrality for a single node group | |
65 """ | |
66 G = nx.path_graph(5) | |
67 c = nx.group_closeness_centrality(G, [1]) | |
68 c_answer = nx.closeness_centrality(G, 1) | |
69 assert c == c_answer | |
70 | |
71 def test_group_closeness_disconnected(self): | |
72 """ | |
73 Group closeness centrality for a disconnected graph | |
74 """ | |
75 G = nx.Graph() | |
76 G.add_nodes_from([1, 2, 3, 4]) | |
77 c = nx.group_closeness_centrality(G, [1, 2]) | |
78 c_answer = 0 | |
79 assert c == c_answer | |
80 | |
81 def test_group_closeness_multiple_node(self): | |
82 """ | |
83 Group closeness centrality for a group with more than | |
84 1 node | |
85 """ | |
86 G = nx.path_graph(4) | |
87 c = nx.group_closeness_centrality(G, [1, 2]) | |
88 c_answer = 1 | |
89 assert c == c_answer | |
90 | |
91 def test_group_closeness_node_not_in_graph(self): | |
92 """ | |
93 Node(s) in S not in graph, raises NodeNotFound exception | |
94 """ | |
95 with pytest.raises(nx.NodeNotFound): | |
96 c = nx.group_closeness_centrality(nx.path_graph(5), [6, 7, 8]) | |
97 | |
98 | |
99 class TestGroupDegreeCentrality: | |
100 def test_group_degree_centrality_single_node(self): | |
101 """ | |
102 Group degree centrality for a single node group | |
103 """ | |
104 G = nx.path_graph(4) | |
105 d = nx.group_degree_centrality(G, [1]) | |
106 d_answer = nx.degree_centrality(G)[1] | |
107 assert d == d_answer | |
108 | |
109 def test_group_degree_centrality_multiple_node(self): | |
110 """ | |
111 Group degree centrality for group with more than | |
112 1 node | |
113 """ | |
114 G = nx.Graph() | |
115 G.add_nodes_from([1, 2, 3, 4, 5, 6, 7, 8]) | |
116 G.add_edges_from( | |
117 [(1, 2), (1, 3), (1, 6), (1, 7), (1, 8), (2, 3), (2, 4), (2, 5)] | |
118 ) | |
119 d = nx.group_degree_centrality(G, [1, 2]) | |
120 d_answer = 1 | |
121 assert d == d_answer | |
122 | |
123 def test_group_in_degree_centrality(self): | |
124 """ | |
125 Group in-degree centrality in a DiGraph | |
126 """ | |
127 G = nx.DiGraph() | |
128 G.add_nodes_from([1, 2, 3, 4, 5, 6, 7, 8]) | |
129 G.add_edges_from( | |
130 [(1, 2), (1, 3), (1, 6), (1, 7), (1, 8), (2, 3), (2, 4), (2, 5)] | |
131 ) | |
132 d = nx.group_in_degree_centrality(G, [1, 2]) | |
133 d_answer = 0 | |
134 assert d == d_answer | |
135 | |
136 def test_group_out_degree_centrality(self): | |
137 """ | |
138 Group out-degree centrality in a DiGraph | |
139 """ | |
140 G = nx.DiGraph() | |
141 G.add_nodes_from([1, 2, 3, 4, 5, 6, 7, 8]) | |
142 G.add_edges_from( | |
143 [(1, 2), (1, 3), (1, 6), (1, 7), (1, 8), (2, 3), (2, 4), (2, 5)] | |
144 ) | |
145 d = nx.group_out_degree_centrality(G, [1, 2]) | |
146 d_answer = 1 | |
147 assert d == d_answer | |
148 | |
149 def test_group_degree_centrality_node_not_in_graph(self): | |
150 """ | |
151 Node(s) in S not in graph, raises NetworkXError | |
152 """ | |
153 with pytest.raises(nx.NetworkXError): | |
154 b = nx.group_degree_centrality(nx.path_graph(5), [6, 7, 8]) |