blob: 8d979db8d8599b1ec59c2123d258bc29efaa4c9b (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
"""Unit tests for the :mod:`networkx.algorithms.bipartite.redundancy` module."""
import pytest
from networkx import NetworkXError, cycle_graph
from networkx.algorithms.bipartite import complete_bipartite_graph, node_redundancy
def test_no_redundant_nodes():
G = complete_bipartite_graph(2, 2)
# when nodes is None
rc = node_redundancy(G)
assert all(redundancy == 1 for redundancy in rc.values())
# when set of nodes is specified
rc = node_redundancy(G, (2, 3))
assert rc == {2: 1.0, 3: 1.0}
def test_redundant_nodes():
G = cycle_graph(6)
edge = {0, 3}
G.add_edge(*edge)
redundancy = node_redundancy(G)
for v in edge:
assert redundancy[v] == 2 / 3
for v in set(G) - edge:
assert redundancy[v] == 1
def test_not_enough_neighbors():
with pytest.raises(NetworkXError):
G = complete_bipartite_graph(1, 2)
node_redundancy(G)
|