summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAric Hagberg <aric.hagberg@gmail.com>2011-11-18 17:01:37 -0700
committerAric Hagberg <aric.hagberg@gmail.com>2011-11-18 17:01:37 -0700
commit0919de7232f9d4540d1c9f47ce9e671bb359ee13 (patch)
treeeb606c17f0ea7db71f72f38dfbc18bfb9ff0858f
parent3665bc112f6bcf601a07356cb498cdd4d0d634dc (diff)
downloadnetworkx-0919de7232f9d4540d1c9f47ce9e671bb359ee13.tar.gz
Better stochastic graph tests.
Remove obsolete try/except
-rw-r--r--.coveragerc3
-rw-r--r--networkx/generators/stochastic.py10
-rw-r--r--networkx/generators/tests/test_stochastic.py12
3 files changed, 15 insertions, 10 deletions
diff --git a/.coveragerc b/.coveragerc
index 37aa7ab7..ed735858 100644
--- a/.coveragerc
+++ b/.coveragerc
@@ -31,6 +31,9 @@ exclude_lines =
except ImportError
raise ImportError
+ # runtime errors
+ except RuntimeError
+
# hard to test (potentially long running)
def random_powerlaw_tree_sequence
def random_powerlaw_tree
diff --git a/networkx/generators/stochastic.py b/networkx/generators/stochastic.py
index 2fcfdc01..adf6be79 100644
--- a/networkx/generators/stochastic.py
+++ b/networkx/generators/stochastic.py
@@ -37,15 +37,7 @@ def stochastic_graph(G, copy=True, weight='weight'):
else:
W=G # reference original graph, no copy
- try:
- degree=W.out_degree(weight=weight)
- except:
- degree=W.out_degree()
-# for n in W:
-# for p in W[n]:
-# weight=G[n][p].get('weight',1.0)
-# W[n][p]['weight']=weight/degree[n]
-
+ degree=W.out_degree(weight=weight)
for (u,v,d) in W.edges(data=True):
d[weight]=d.get(weight,1.0)/degree[u]
return W
diff --git a/networkx/generators/tests/test_stochastic.py b/networkx/generators/tests/test_stochastic.py
index 86b32e2e..f8c40f02 100644
--- a/networkx/generators/tests/test_stochastic.py
+++ b/networkx/generators/tests/test_stochastic.py
@@ -1,4 +1,4 @@
-from nose.tools import assert_true, assert_equal
+from nose.tools import assert_true, assert_equal,assert_raises
import networkx as nx
def test_stochastic():
@@ -10,4 +10,14 @@ def test_stochastic():
assert_equal(sorted(S.edges(data=True)),
[(0, 1, {'weight': 0.5}),
(0, 2, {'weight': 0.5})])
+ S=nx.stochastic_graph(G,copy=True)
+ assert_equal(sorted(S.edges(data=True)),
+ [(0, 1, {'weight': 0.5}),
+ (0, 2, {'weight': 0.5})])
+
+def test_stochastic_error():
+ G=nx.Graph()
+ assert_raises(Exception,nx.stochastic_graph,G)
+ G=nx.MultiGraph()
+ assert_raises(Exception,nx.stochastic_graph,G)