blob: 7ab99fb9c1c9cc90197904b965dc7202f9522b3c [file] [log] [blame]
#!/usr/bin/env python
from nose.tools import *
import networkx as nx
class TestAverageNeighbor(object):
def test_degree_p4(self):
G=nx.path_graph(4)
answer={0:2,1:1.5,2:1.5,3:2}
nd = nx.average_neighbor_degree(G)
assert_equal(nd,answer)
D=G.to_directed()
nd = nx.average_neighbor_degree(D)
assert_equal(nd,answer)
D=G.to_directed()
nd = nx.average_neighbor_degree(D)
assert_equal(nd,answer)
D=G.to_directed()
nd = nx.average_neighbor_degree(D, source='in', target='in')
assert_equal(nd,answer)
def test_degree_p4_weighted(self):
G=nx.path_graph(4)
G[1][2]['weight']=4
answer={0:2,1:1.8,2:1.8,3:2}
nd = nx.average_neighbor_degree(G,weight='weight')
assert_equal(nd,answer)
D=G.to_directed()
nd = nx.average_neighbor_degree(D,weight='weight')
assert_equal(nd,answer)
D=G.to_directed()
nd = nx.average_neighbor_degree(D,weight='weight')
assert_equal(nd,answer)
nd = nx.average_neighbor_degree(D,source='out',target='out',
weight='weight')
assert_equal(nd,answer)
D=G.to_directed()
nd = nx.average_neighbor_degree(D,source='in',target='in',
weight='weight')
assert_equal(nd,answer)
def test_degree_k4(self):
G=nx.complete_graph(4)
answer={0:3,1:3,2:3,3:3}
nd = nx.average_neighbor_degree(G)
assert_equal(nd,answer)
D=G.to_directed()
nd = nx.average_neighbor_degree(D)
assert_equal(nd,answer)
D=G.to_directed()
nd = nx.average_neighbor_degree(D)
assert_equal(nd,answer)
D=G.to_directed()
nd = nx.average_neighbor_degree(D,source='in',target='in')
assert_equal(nd,answer)
def test_degree_k4_nodes(self):
G=nx.complete_graph(4)
answer={1:3.0,2:3.0}
nd = nx.average_neighbor_degree(G,nodes=[1,2])
assert_equal(nd,answer)
def test_degree_barrat(self):
G=nx.star_graph(5)
G.add_edges_from([(5,6),(5,7),(5,8),(5,9)])
G[0][5]['weight']=5
nd = nx.average_neighbor_degree(G)[5]
assert_equal(nd,1.8)
nd = nx.average_neighbor_degree(G,weight='weight')[5]
assert_almost_equal(nd,3.222222,places=5)