Repository URL to install this package:
|
Version:
2.1 ▾
|
#!/usr/bin/env python
from nose.tools import *
import networkx
class TestDistance:
def setUp(self):
G = networkx.Graph()
from networkx import convert_node_labels_to_integers as cnlti
G = cnlti(networkx.grid_2d_graph(4, 4), first_label=1, ordering="sorted")
self.G = G
def test_eccentricity(self):
assert_equal(networkx.eccentricity(self.G, 1), 6)
e = networkx.eccentricity(self.G)
assert_equal(e[1], 6)
sp = dict(networkx.shortest_path_length(self.G))
e = networkx.eccentricity(self.G, sp=sp)
assert_equal(e[1], 6)
e = networkx.eccentricity(self.G, v=1)
assert_equal(e, 6)
# This behavior changed in version 1.8 (ticket #739)
e = networkx.eccentricity(self.G, v=[1, 1])
assert_equal(e[1], 6)
e = networkx.eccentricity(self.G, v=[1, 2])
assert_equal(e[1], 6)
# test against graph with one node
G = networkx.path_graph(1)
e = networkx.eccentricity(G)
assert_equal(e[0], 0)
e = networkx.eccentricity(G, v=0)
assert_equal(e, 0)
assert_raises(networkx.NetworkXError, networkx.eccentricity, G, 1)
# test against empty graph
G = networkx.empty_graph()
e = networkx.eccentricity(G)
assert_equal(e, {})
def test_diameter(self):
assert_equal(networkx.diameter(self.G), 6)
def test_radius(self):
assert_equal(networkx.radius(self.G), 4)
def test_periphery(self):
assert_equal(set(networkx.periphery(self.G)), set([1, 4, 13, 16]))
def test_center(self):
assert_equal(set(networkx.center(self.G)), set([6, 7, 10, 11]))
def test_bound_diameter(self):
assert_equal(networkx.diameter(self.G, usebounds=True), 6)
def test_bound_radius(self):
assert_equal(networkx.radius(self.G, usebounds=True), 4)
def test_bound_periphery(self):
assert_equal(set(networkx.periphery(self.G, usebounds=True)), set([1, 4, 13, 16]))
def test_bound_center(self):
assert_equal(set(networkx.center(self.G, usebounds=True)), set([6, 7, 10, 11]))
def test_radius_exception(self):
G = networkx.Graph()
G.add_edge(1, 2)
G.add_edge(3, 4)
assert_raises(networkx.NetworkXError, networkx.diameter, G)
@raises(networkx.NetworkXError)
def test_eccentricity_infinite(self):
G = networkx.Graph([(1, 2), (3, 4)])
e = networkx.eccentricity(G)
@raises(networkx.NetworkXError)
def test_eccentricity_undirected_not_connected(self):
G = networkx.Graph([(1, 2), (3, 4)])
e = networkx.eccentricity(G, sp=1)
@raises(networkx.NetworkXError)
def test_eccentricity_directed_weakly_connected(self):
DG = networkx.DiGraph([(1, 2), (1, 3)])
networkx.eccentricity(DG)