<s> from nose import SkipTest <EOL> import networkx as nx <EOL> from networkx . generators . degree_seq import havel_hakimi_graph <EOL> class TestModularity ( object ) : <EOL> numpy = <NUM_LIT:1> <EOL> @ classmethod <EOL> def setupClass ( cls ) : <EOL> global numpy <EOL> global scipy <EOL> global assert_equal <EOL> global assert_almost_equal <EOL> try : <EOL> import numpy <EOL> import scipy <EOL> from numpy . testing import assert_equal , assert_almost_equal <EOL> except ImportError : <EOL> raise SkipTest ( '<STR_LIT>' ) <EOL> def setUp ( self ) : <EOL> deg = [ <NUM_LIT:3> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:0> ] <EOL> self . G = havel_hakimi_graph ( deg ) <EOL> self . DG = nx . DiGraph ( ) <EOL> self . DG . add_edges_from ( ( ( <NUM_LIT:1> , <NUM_LIT:2> ) , ( <NUM_LIT:1> , <NUM_LIT:3> ) , ( <NUM_LIT:3> , <NUM_LIT:1> ) , ( <NUM_LIT:3> , <NUM_LIT:2> ) , ( <NUM_LIT:3> , <NUM_LIT:5> ) , ( <NUM_LIT:4> , <NUM_LIT:5> ) , ( <NUM_LIT:4> , <NUM_LIT:6> ) , <EOL> ( <NUM_LIT:5> , <NUM_LIT:4> ) , ( <NUM_LIT:5> , <NUM_LIT:6> ) , ( <NUM_LIT:6> , <NUM_LIT:4> ) ) ) <EOL> def test_modularity ( self ) : <EOL> "<STR_LIT>" <EOL> B = numpy . matrix ( [ [ - <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0.> ] , <EOL> [ <NUM_LIT> , - <NUM_LIT:0.5> , <NUM_LIT:0.5> , - <NUM_LIT> , <NUM_LIT:0.> ] , <EOL> [ <NUM_LIT> , <NUM_LIT:0.5> , - <NUM_LIT:0.5> , - <NUM_LIT> , <NUM_LIT:0.> ] , <EOL> [ <NUM_LIT> , - <NUM_LIT> , - <NUM_LIT> , - <NUM_LIT> , <NUM_LIT:0.> ] , <EOL> [ <NUM_LIT:0.> , <NUM_LIT:0.> , <NUM_LIT:0.> , <NUM_LIT:0.> , <NUM_LIT:0.> ] ] ) <EOL> permutation = [ <NUM_LIT:4> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] <EOL> assert_equal ( nx . modularity_matrix ( self . G ) , B ) <EOL> assert_equal ( nx . modularity_matrix ( self . G , nodelist = permutation ) , <EOL> B [ numpy . ix_ ( permutation , permutation ) ] ) <EOL> def test_modularity_weight ( self ) : <EOL> "<STR_LIT>" <EOL> B = numpy . matrix ( [ [ - <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0.> ] , <EOL> [ <NUM_LIT> , - <NUM_LIT:0.5> , <NUM_LIT:0.5> , - <NUM_LIT> , <NUM_LIT:0.> ] , <EOL> [ <NUM_LIT> , <NUM_LIT:0.5> , - <NUM_LIT:0.5> , - <NUM_LIT> , <NUM_LIT:0.> ] , <EOL> [ <NUM_LIT> , - <NUM_LIT> , - <NUM_LIT> , - <NUM_LIT> , <NUM_LIT:0.> ] , <EOL> [ <NUM_LIT:0.> , <NUM_LIT:0.> , <NUM_LIT:0.> , <NUM_LIT:0.> , <NUM_LIT:0.> ] ] ) <EOL> G_weighted = self . G . copy ( ) <EOL> for n1 , n2 in G_weighted . edges ( ) : <EOL> G_weighted . edge [ n1 ] [ n2 ] [ "<STR_LIT>" ] = <NUM_LIT:0.5> <EOL> assert_equal ( nx . modularity_matrix ( G_weighted ) , B ) <EOL> assert_equal ( nx . modularity_matrix ( G_weighted , weight = "<STR_LIT>" ) , <NUM_LIT:0.5> * B ) <EOL> def test_directed_modularity ( self ) : <EOL> "<STR_LIT>" <EOL> B = numpy . matrix ( [ [ - <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , - <NUM_LIT> , - <NUM_LIT> , - <NUM_LIT> ] , <EOL> [ <NUM_LIT:0.> , <NUM_LIT:0.> , <NUM_LIT:0.> , <NUM_LIT:0.> , <NUM_LIT:0.> , <NUM_LIT:0.> ] , <EOL> [ <NUM_LIT> , <NUM_LIT> , - <NUM_LIT> , - <NUM_LIT> , <NUM_LIT> , - <NUM_LIT> ] , <EOL> [ - <NUM_LIT> , - <NUM_LIT> , - <NUM_LIT> , - <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] , <EOL> [ - <NUM_LIT> , - <NUM_LIT> , - <NUM_LIT> , <NUM_LIT> , - <NUM_LIT> , <NUM_LIT> ] , <EOL> [ - <NUM_LIT:0.1> , - <NUM_LIT> , - <NUM_LIT:0.1> , <NUM_LIT> , - <NUM_LIT> , - <NUM_LIT> ] ] ) <EOL> node_permutation = [ <NUM_LIT:5> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:6> ] <EOL> idx_permutation = [ <NUM_LIT:4> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:5> ] <EOL> assert_equal ( nx . directed_modularity_matrix ( self . DG ) , B ) <EOL> assert_equal ( nx . directed_modularity_matrix ( self . DG , nodelist = node_permutation ) , <EOL> B [ numpy . ix_ ( idx_permutation , idx_permutation ) ] ) </s>
