diff options
| author | Jordi Torrents <jordi.t21@gmail.com> | 2015-05-07 05:27:02 +0200 |
|---|---|---|
| committer | Jordi Torrents <jordi.t21@gmail.com> | 2015-05-07 05:27:02 +0200 |
| commit | a2a3e84be346235ddbada86c8f2e1992be40fa12 (patch) | |
| tree | d529e020b6330e5727705f49a567c3ff911cdddf /networkx/algorithms/components | |
| parent | 4ad938c784c5c6c08fbd2f6d760e6cfad3a80b83 (diff) | |
| download | networkx-a2a3e84be346235ddbada86c8f2e1992be40fa12.tar.gz | |
Add tests for subgraphs without copy for [bi]components.
This brings coverage to 100% in all modules of the components package.
Diffstat (limited to 'networkx/algorithms/components')
| -rw-r--r-- | networkx/algorithms/components/tests/test_biconnected.py | 15 | ||||
| -rw-r--r-- | networkx/algorithms/components/tests/test_connected.py | 106 |
2 files changed, 78 insertions, 43 deletions
diff --git a/networkx/algorithms/components/tests/test_biconnected.py b/networkx/algorithms/components/tests/test_biconnected.py index b1b23ebe..ede2d12a 100644 --- a/networkx/algorithms/components/tests/test_biconnected.py +++ b/networkx/algorithms/components/tests/test_biconnected.py @@ -87,6 +87,21 @@ def test_biconnected_component_subgraphs_cycle(): assert_equal(g1[1][3]['eattr'],'blue') assert_equal(G[1][3]['eattr'],'red') +def test_biconnected_component_subgraphs_no_copy(): + G = nx.Graph() + G.add_edge(1, 2, eattr='red') # test attributes copied to subgraphs + G.node[1]['nattr'] = 'blue' + G.graph['gattr'] = 'green' + ccs = list(nx.biconnected_component_subgraphs(G, copy=False)) + assert_equal(len(ccs), 1) + sg = ccs[0] + assert_equal(sg[1][2]['eattr'], 'red') + assert_equal(sg.node[1]['nattr'], 'blue') + assert_equal(sg.graph['gattr'], 'green') + sg[1][2]['eattr'] = 'blue' + assert_equal(G[1][2]['eattr'], 'blue') + assert_equal(sg[1][2]['eattr'], 'blue') + def test_biconnected_components1(): # graph example from diff --git a/networkx/algorithms/components/tests/test_connected.py b/networkx/algorithms/components/tests/test_connected.py index 72897f76..24eeabcb 100644 --- a/networkx/algorithms/components/tests/test_connected.py +++ b/networkx/algorithms/components/tests/test_connected.py @@ -7,66 +7,86 @@ from networkx import NetworkXError,NetworkXNotImplemented class TestConnected: def setUp(self): - G1=cnlti(nx.grid_2d_graph(2,2),first_label=0,ordering="sorted") - G2=cnlti(nx.lollipop_graph(3,3),first_label=4,ordering="sorted") - G3=cnlti(nx.house_graph(),first_label=10,ordering="sorted") - self.G=nx.union(G1,G2) - self.G=nx.union(self.G,G3) - self.DG=nx.DiGraph([(1,2),(1,3),(2,3)]) - self.grid=cnlti(nx.grid_2d_graph(4,4),first_label=1) + G1 = cnlti(nx.grid_2d_graph(2, 2), first_label=0, ordering="sorted") + G2 = cnlti(nx.lollipop_graph(3, 3), first_label=4, ordering="sorted") + G3 = cnlti(nx.house_graph(), first_label=10, ordering="sorted") + self.G = nx.union(G1, G2) + self.G = nx.union(self.G, G3) + self.DG = nx.DiGraph([(1, 2), (1, 3), (2, 3)]) + self.grid = cnlti(nx.grid_2d_graph(4, 4), first_label=1) def test_connected_components(self): - cc=nx.connected_components - G=self.G - C=[[0, 1, 2, 3], [4, 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]] - assert_equal(sorted([sorted(g) for g in cc(G)]),sorted(C)) + cc = nx.connected_components + G = self.G + C = { + frozenset([0, 1, 2, 3]), + frozenset([4, 5, 6, 7, 8, 9]), + frozenset([10, 11, 12, 13, 14]) + } + assert_equal({frozenset(g) for g in cc(G)}, C) def test_number_connected_components(self): - ncc=nx.number_connected_components - assert_equal(ncc(self.G),3) + ncc = nx.number_connected_components + assert_equal(ncc(self.G), 3) def test_number_connected_components2(self): - ncc=nx.number_connected_components - assert_equal(ncc(self.grid),1) + ncc = nx.number_connected_components + assert_equal(ncc(self.grid), 1) def test_connected_components2(self): - cc=nx.connected_components - G=self.grid - C=[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]] - assert_equal(sorted([sorted(g) for g in cc(G)]),sorted(C)) + cc = nx.connected_components + G = self.grid + C = {frozenset([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16])} + assert_equal({frozenset(g) for g in cc(G)}, C) def test_node_connected_components(self): - ncc=nx.node_connected_component - G=self.grid - C=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] - assert_equal(sorted(ncc(G,1)),sorted(C)) + ncc = nx.node_connected_component + G = self.grid + C = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} + assert_equal(ncc(G, 1), C) def test_connected_component_subgraphs(self): G=self.grid - G.add_edge(1,2,eattr='red') # test attributes copied to subgraphs - G.node[1]['nattr']='blue' - G.graph['gattr']='green' - ccs=list(nx.connected_component_subgraphs(G)) - assert_equal(len(ccs),1) - sg=ccs[0] - assert_equal(sorted(sg.nodes()),list(range(1,17))) - assert_equal(sg[1][2]['eattr'],'red') - assert_equal(sg.node[1]['nattr'],'blue') - assert_equal(sg.graph['gattr'],'green') - sg[1][2]['eattr']='blue' - assert_equal(G[1][2]['eattr'],'red') - assert_equal(sg[1][2]['eattr'],'blue') + G.add_edge(1, 2, eattr='red') # test attributes copied to subgraphs + G.node[1]['nattr'] = 'blue' + G.graph['gattr'] = 'green' + ccs = list(nx.connected_component_subgraphs(G)) + assert_equal(len(ccs), 1) + sg = ccs[0] + assert_equal(sorted(sg), list(range(1,17))) + assert_equal(sg[1][2]['eattr'], 'red') + assert_equal(sg.node[1]['nattr'], 'blue') + assert_equal(sg.graph['gattr'], 'green') + sg[1][2]['eattr'] = 'blue' + assert_equal(G[1][2]['eattr'], 'red') + assert_equal(sg[1][2]['eattr'], 'blue') + def test_connected_component_subgraphs_no_copy(self): + G=self.grid + G.add_edge(1, 2, eattr='red') # test attributes copied to subgraphs + G.node[1]['nattr'] = 'blue' + G.graph['gattr'] = 'green' + ccs = list(nx.connected_component_subgraphs(G, copy=False)) + assert_equal(len(ccs), 1) + sg = ccs[0] + assert_equal(sorted(sg), list(range(1,17))) + assert_equal(sg[1][2]['eattr'], 'red') + assert_equal(sg.node[1]['nattr'], 'blue') + assert_equal(sg.graph['gattr'], 'green') + sg[1][2]['eattr'] = 'blue' + assert_equal(G[1][2]['eattr'], 'blue') + assert_equal(sg[1][2]['eattr'], 'blue') def test_is_connected(self): assert_true(nx.is_connected(self.grid)) - G=nx.Graph() - G.add_nodes_from([1,2]) + G = nx.Graph() + G.add_nodes_from([1, 2]) assert_false(nx.is_connected(G)) def test_connected_raise(self): - assert_raises(NetworkXNotImplemented,nx.connected_components,self.DG) - assert_raises(NetworkXNotImplemented,nx.number_connected_components,self.DG) - assert_raises(NetworkXNotImplemented,nx.connected_component_subgraphs,self.DG) - assert_raises(NetworkXNotImplemented,nx.node_connected_component,self.DG,1) - assert_raises(NetworkXNotImplemented,nx.is_connected,self.DG) + assert_raises(NetworkXNotImplemented, nx.connected_components, self.DG) + assert_raises(NetworkXNotImplemented, nx.number_connected_components, self.DG) + assert_raises(NetworkXNotImplemented, nx.connected_component_subgraphs, self.DG) + assert_raises(NetworkXNotImplemented, nx.node_connected_component, self.DG,1) + assert_raises(NetworkXNotImplemented, nx.is_connected, self.DG) + assert_raises(nx.NetworkXPointlessConcept, nx.is_connected, nx.Graph()) |
