[pypy-svn] r73906 - in pypy/branch/blackhole-improvement/pypy/tool/algo: . test

arigo at codespeak.net arigo at codespeak.net
Tue Apr 20 14:51:50 CEST 2010


Author: arigo
Date: Tue Apr 20 14:51:49 2010
New Revision: 73906

Modified:
   pypy/branch/blackhole-improvement/pypy/tool/algo/color.py
   pypy/branch/blackhole-improvement/pypy/tool/algo/test/test_color.py
Log:
Support empty DependencyGraphs.


Modified: pypy/branch/blackhole-improvement/pypy/tool/algo/color.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/tool/algo/color.py	(original)
+++ pypy/branch/blackhole-improvement/pypy/tool/algo/color.py	Tue Apr 20 14:51:49 2010
@@ -29,6 +29,8 @@
     def lexicographic_order(self):
         """Enumerate a lexicographic breath-first ordering of the nodes."""
         sigma = [self.getnodes()[::-1]]
+        if not sigma[0]:
+            return
         while sigma:
             v = sigma[0].pop()
             yield v

Modified: pypy/branch/blackhole-improvement/pypy/tool/algo/test/test_color.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/tool/algo/test/test_color.py	(original)
+++ pypy/branch/blackhole-improvement/pypy/tool/algo/test/test_color.py	Tue Apr 20 14:51:49 2010
@@ -27,6 +27,11 @@
     # of insertion of nodes.
     assert ''.join(order) == 'acbde'
 
+def test_lexicographic_order_empty():
+    dg = DependencyGraph()
+    order = list(dg.lexicographic_order())
+    assert order == []
+
 def test_size_of_largest_clique():
     dg = graph1()
     assert dg.size_of_largest_clique() == 3
@@ -40,3 +45,8 @@
     for v1, v2list in dg.neighbours.items():
         for v2 in v2list:
             assert coloring[v1] != coloring[v2]
+
+def test_find_node_coloring_empty():
+    dg = DependencyGraph()
+    coloring = dg.find_node_coloring()
+    assert coloring == {}



More information about the Pypy-commit mailing list