<s> from nose . tools import * <EOL> from networkx import * <EOL> from networkx . generators . bipartite import * <EOL> """<STR_LIT>""" <EOL> class TestGeneratorsBipartite ( ) : <EOL> def test_configuration_model ( self ) : <EOL> aseq = [ <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] <EOL> bseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> assert_raises ( networkx . exception . NetworkXError , <EOL> bipartite_configuration_model , aseq , bseq ) <EOL> aseq = [ <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] <EOL> bseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> G = bipartite_configuration_model ( aseq , bseq ) <EOL> assert_equal ( sorted ( G . degree ( ) . values ( ) ) , <EOL> [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] ) <EOL> aseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> bseq = [ <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] <EOL> G = bipartite_configuration_model ( aseq , bseq ) <EOL> assert_equal ( sorted ( G . degree ( ) . values ( ) ) , <EOL> [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] ) <EOL> aseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> bseq = [ <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] <EOL> G = bipartite_configuration_model ( aseq , bseq ) <EOL> assert_equal ( sorted ( G . degree ( ) . values ( ) ) , <EOL> [ <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] ) <EOL> GU = project ( Graph ( G ) , range ( len ( aseq ) ) ) <EOL> assert_equal ( GU . number_of_nodes ( ) , <NUM_LIT:6> ) <EOL> GD = project ( Graph ( G ) , range ( len ( aseq ) , len ( aseq ) + len ( bseq ) ) ) <EOL> assert_equal ( GD . number_of_nodes ( ) , <NUM_LIT:3> ) <EOL> assert_raises ( networkx . exception . NetworkXError , <EOL> bipartite_configuration_model , aseq , bseq , <EOL> create_using = DiGraph ( ) ) <EOL> def test_havel_hakimi_graph ( self ) : <EOL> aseq = [ <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] <EOL> bseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> assert_raises ( networkx . exception . NetworkXError , <EOL> bipartite_havel_hakimi_graph , aseq , bseq ) <EOL> bseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> G = bipartite_havel_hakimi_graph ( aseq , bseq ) <EOL> assert_equal ( sorted ( G . degree ( ) . values ( ) ) , <EOL> [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] ) <EOL> aseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> bseq = [ <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] <EOL> G = bipartite_havel_hakimi_graph ( aseq , bseq ) <EOL> assert_equal ( sorted ( G . degree ( ) . values ( ) ) , <EOL> [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] ) <EOL> GU = project ( Graph ( G ) , range ( len ( aseq ) ) ) <EOL> assert_equal ( GU . number_of_nodes ( ) , <NUM_LIT:6> ) <EOL> GD = project ( Graph ( G ) , range ( len ( aseq ) , len ( aseq ) + len ( bseq ) ) ) <EOL> assert_equal ( GD . number_of_nodes ( ) , <NUM_LIT:4> ) <EOL> assert_raises ( networkx . exception . NetworkXError , <EOL> bipartite_havel_hakimi_graph , aseq , bseq , <EOL> create_using = DiGraph ( ) ) <EOL> def test_reverse_havel_hakimi_graph ( self ) : <EOL> aseq = [ <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] <EOL> bseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> assert_raises ( networkx . exception . NetworkXError , <EOL> bipartite_reverse_havel_hakimi_graph , aseq , bseq ) <EOL> bseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> G = bipartite_reverse_havel_hakimi_graph ( aseq , bseq ) <EOL> assert_equal ( sorted ( G . degree ( ) . values ( ) ) , <EOL> [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] ) <EOL> aseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> bseq = [ <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] <EOL> G = bipartite_reverse_havel_hakimi_graph ( aseq , bseq ) <EOL> assert_equal ( sorted ( G . degree ( ) . values ( ) ) , <EOL> [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] ) <EOL> aseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> bseq = [ <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] <EOL> G = bipartite_reverse_havel_hakimi_graph ( aseq , bseq ) <EOL> assert_equal ( sorted ( G . degree ( ) . values ( ) ) , <EOL> [ <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] ) <EOL> GU = project ( Graph ( G ) , range ( len ( aseq ) ) ) <EOL> assert_equal ( GU . number_of_nodes ( ) , <NUM_LIT:6> ) <EOL> GD = project ( Graph ( G ) , range ( len ( aseq ) , len ( aseq ) + len ( bseq ) ) ) <EOL> assert_equal ( GD . number_of_nodes ( ) , <NUM_LIT:3> ) <EOL> assert_raises ( networkx . exception . NetworkXError , <EOL> bipartite_reverse_havel_hakimi_graph , aseq , bseq , <EOL> create_using = DiGraph ( ) ) <EOL> def test_alternating_havel_hakimi_graph ( self ) : <EOL> aseq = [ <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] <EOL> bseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> assert_raises ( networkx . exception . NetworkXError , <EOL> bipartite_alternating_havel_hakimi_graph , aseq , bseq ) <EOL> bseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> G = bipartite_alternating_havel_hakimi_graph ( aseq , bseq ) <EOL> assert_equal ( sorted ( G . degree ( ) . values ( ) ) , <EOL> [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] ) <EOL> aseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> bseq = [ <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] <EOL> G = bipartite_alternating_havel_hakimi_graph ( aseq , bseq ) <EOL> assert_equal ( sorted ( G . degree ( ) . values ( ) ) , <EOL> [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] ) <EOL> aseq = [ <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> bseq = [ <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] <EOL> G = bipartite_alternating_havel_hakimi_graph ( aseq , bseq ) <EOL> assert_equal ( sorted ( G . degree ( ) . values ( ) ) , <EOL> [ <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:3> ] ) <EOL> GU = project ( Graph ( G ) , range ( len ( aseq ) ) ) <EOL> assert_equal ( GU . number_of_nodes ( ) , <NUM_LIT:6> ) <EOL> GD = project ( Graph ( G ) , range ( len ( aseq ) , len ( aseq ) + len ( bseq ) ) ) <EOL> assert_equal ( GD . number_of_nodes ( ) , <NUM_LIT:3> ) <EOL> assert_raises ( networkx . exception . NetworkXError , <EOL> bipartite_alternating_havel_hakimi_graph , aseq , bseq , <EOL> create_using = DiGraph ( ) ) <EOL> def test_preferential_attachment ( self ) : <EOL> aseq = [ <NUM_LIT:3> , <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> G = bipartite_preferential_attachment_graph ( aseq , <NUM_LIT:0.5> ) <EOL> assert_raises ( networkx . exception . NetworkXError , <EOL> bipartite_preferential_attachment_graph , aseq , <NUM_LIT:0.5> , <EOL> create_using = DiGraph ( ) ) <EOL> def test_bipartite_random_graph ( self ) : <EOL> n = <NUM_LIT:10> <EOL> m = <NUM_LIT:20> <EOL> G = bipartite_random_graph ( n , m , <NUM_LIT> ) <EOL> assert_equal ( len ( G ) , <NUM_LIT:30> ) <EOL> assert_true ( is_bipartite ( G ) ) <EOL> X , Y = nx . algorithms . bipartite . sets ( G ) <EOL> assert_equal ( set ( range ( n ) ) , X ) <EOL> assert_equal ( set ( range ( n , n + m ) ) , Y ) <EOL> def test_directed_bipartite_random_graph ( self ) : <EOL> n = <NUM_LIT:10> <EOL> m = <NUM_LIT:20> <EOL> G = bipartite_random_graph ( n , m , <NUM_LIT> , directed = True ) <EOL> assert_equal ( len ( G ) , <NUM_LIT:30> ) <EOL> assert_true ( is_bipartite ( G ) ) <EOL> X , Y = nx . algorithms . bipartite . sets ( G ) <EOL> assert_equal ( set ( range ( n ) ) , X ) <EOL> assert_equal ( set ( range ( n , n + m ) ) , Y ) <EOL> def test_bipartite_gnmk_random_graph ( self ) : <EOL> n = <NUM_LIT:10> <EOL> m = <NUM_LIT:20> <EOL> edges = <NUM_LIT:100> <EOL> G = bipartite_gnmk_random_graph ( n , m , edges ) <EOL> assert_equal ( len ( G ) , <NUM_LIT:30> ) <EOL> assert_true ( is_bipartite ( G ) ) <EOL> X , Y = nx . algorithms . bipartite . sets ( G ) <EOL> print ( X ) <EOL> assert_equal ( set ( range ( n ) ) , X ) <EOL> assert_equal ( set ( range ( n , n + m ) ) , Y ) <EOL> assert_equal ( edges , len ( G . edges ( ) ) ) </s>
