#!/usr/bin/env python from nose.tools import * from networkx import * import random random.seed(0) def test_double_edge_swap(): graph = barabasi_albert_graph(200, 1) degrees = sorted(d for n, d in graph.degree()) G = double_edge_swap(graph, 40) assert_equal(degrees, sorted(d for n, d in graph.degree())) def test_connected_double_edge_swap(): graph = barabasi_albert_graph(200, 1) degrees = sorted(d for n, d in graph.degree()) G = connected_double_edge_swap(graph, 40) assert_true(is_connected(graph)) assert_equal(degrees, sorted(d for n, d in graph.degree())) @raises(NetworkXError) def test_double_edge_swap_small(): G = nx.double_edge_swap(nx.path_graph(3)) @raises(NetworkXError) def test_double_edge_swap_tries(): G = nx.double_edge_swap(nx.path_graph(10), nswap=1, max_tries=0) @raises(NetworkXError) def test_connected_double_edge_swap_small(): G = nx.connected_double_edge_swap(nx.path_graph(3)) @raises(NetworkXError) def test_connected_double_edge_swap_not_connected(): G = nx.path_graph(3) nx.add_path(G, [10, 11, 12]) G = nx.connected_double_edge_swap(G) def test_degree_seq_c4(): G = cycle_graph(4) degrees = sorted(d for n, d in G.degree()) G = double_edge_swap(G, 1, 100) assert_equal(degrees, sorted(d for n, d in G.degree()))