~ubuntu-branches/ubuntu/utopic/python-networkx/utopic

« back to all changes in this revision

Viewing changes to networkx/algorithms/assortativity/tests/test_connectivity.py

  • Committer: Package Import Robot
  • Author(s): Sandro Tosi
  • Date: 2012-08-11 12:41:30 UTC
  • mfrom: (1.4.1) (5.1.13 sid)
  • Revision ID: package-import@ubuntu.com-20120811124130-whr6uso7fncyg8bi
Tags: 1.7-1
* New upstream release
* debian/patches/changeset_*
  - removed, included upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
from nose.tools import *
 
3
import networkx as nx
 
4
 
 
5
class TestNeighborConnectivity(object):
 
6
 
 
7
    def test_degree_p4(self):
 
8
        G=nx.path_graph(4)
 
9
        answer={1:2.0,2:1.5}
 
10
        nd = nx.average_degree_connectivity(G)
 
11
        assert_equal(nd,answer)
 
12
        
 
13
        D=G.to_directed()
 
14
        answer={2:2.0,4:1.5}
 
15
        nd = nx.average_degree_connectivity(D)
 
16
        assert_equal(nd,answer)
 
17
 
 
18
        answer={1:2.0,2:1.5}
 
19
        D=G.to_directed()
 
20
        nd = nx.average_degree_connectivity(D, source='in', target='in')
 
21
        assert_equal(nd,answer)
 
22
 
 
23
        D=G.to_directed()
 
24
        nd = nx.average_degree_connectivity(D, source='in', target='in')
 
25
        assert_equal(nd,answer)
 
26
 
 
27
    def test_degree_p4_weighted(self):
 
28
        G=nx.path_graph(4)
 
29
        G[1][2]['weight']=4
 
30
        answer={1:2.0,2:1.8}
 
31
        nd = nx.average_degree_connectivity(G,weight='weight')
 
32
        assert_equal(nd,answer)
 
33
        answer={1:2.0,2:1.5}
 
34
        nd = nx.average_degree_connectivity(G)
 
35
        assert_equal(nd,answer)
 
36
        
 
37
        D=G.to_directed()
 
38
        answer={2:2.0,4:1.8}
 
39
        nd = nx.average_degree_connectivity(D,weight='weight')
 
40
        assert_equal(nd,answer)
 
41
 
 
42
        answer={1:2.0,2:1.8}
 
43
        D=G.to_directed()
 
44
        nd = nx.average_degree_connectivity(D,weight='weight', source='in',
 
45
                                            target='in')
 
46
        assert_equal(nd,answer)
 
47
 
 
48
        D=G.to_directed()
 
49
        nd = nx.average_degree_connectivity(D,source='in',target='out',
 
50
                                            weight='weight')
 
51
        assert_equal(nd,answer)
 
52
 
 
53
    def test_weight_keyword(self):
 
54
        G=nx.path_graph(4)
 
55
        G[1][2]['other']=4
 
56
        answer={1:2.0,2:1.8}
 
57
        nd = nx.average_degree_connectivity(G,weight='other')
 
58
        assert_equal(nd,answer)
 
59
        answer={1:2.0,2:1.5}
 
60
        nd = nx.average_degree_connectivity(G,weight=None)
 
61
        assert_equal(nd,answer)
 
62
        
 
63
        D=G.to_directed()
 
64
        answer={2:2.0,4:1.8}
 
65
        nd = nx.average_degree_connectivity(D,weight='other')
 
66
        assert_equal(nd,answer)
 
67
 
 
68
        answer={1:2.0,2:1.8}
 
69
        D=G.to_directed()
 
70
        nd = nx.average_degree_connectivity(D,weight='other', source='in',
 
71
                                            target='in')
 
72
        assert_equal(nd,answer)
 
73
 
 
74
        D=G.to_directed()
 
75
        nd = nx.average_degree_connectivity(D,weight='other',source='in',
 
76
                                            target='in')
 
77
        assert_equal(nd,answer)
 
78
 
 
79
    def test_degree_barrat(self):
 
80
        G=nx.star_graph(5)
 
81
        G.add_edges_from([(5,6),(5,7),(5,8),(5,9)])
 
82
        G[0][5]['weight']=5
 
83
        nd = nx.average_degree_connectivity(G)[5]
 
84
        assert_equal(nd,1.8)
 
85
        nd = nx.average_degree_connectivity(G,weight='weight')[5]
 
86
        assert_almost_equal(nd,3.222222,places=5)
 
87
        nd = nx.k_nearest_neighbors(G,weight='weight')[5]
 
88
        assert_almost_equal(nd,3.222222,places=5)
 
89
 
 
90
    def test_zero_deg(self):
 
91
        G=nx.DiGraph()
 
92
        G.add_edge(1,2)
 
93
        G.add_edge(1,3)
 
94
        G.add_edge(1,4)
 
95
        c = nx.average_degree_connectivity(G)
 
96
        assert_equal(c,{1:0,3:1})
 
97
        c = nx.average_degree_connectivity(G, source='in', target='in')
 
98
        assert_equal(c,{0:0,1:0})
 
99
        c = nx.average_degree_connectivity(G, source='in', target='out')
 
100
        assert_equal(c,{0:0,1:3})
 
101
        c = nx.average_degree_connectivity(G, source='in', target='in+out')
 
102
        assert_equal(c,{0:0,1:3})
 
103
        c = nx.average_degree_connectivity(G, source='out', target='out')
 
104
        assert_equal(c,{0:0,3:0})
 
105
        c = nx.average_degree_connectivity(G, source='out', target='in')
 
106
        assert_equal(c,{0:0,3:1})
 
107
        c = nx.average_degree_connectivity(G, source='out', target='in+out')
 
108
        assert_equal(c,{0:0,3:1})
 
109
 
 
110