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

arigo at codespeak.net arigo at codespeak.net
Wed Apr 14 15:21:44 CEST 2010


Author: arigo
Date: Wed Apr 14 15:21:43 2010
New Revision: 73737

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


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	Wed Apr 14 15:21:43 2010
@@ -1,6 +1,3 @@
-"""
-"""
-
 
 class DependencyGraph(object):
 
@@ -18,7 +15,6 @@
     def lexicographic_order(self):
         """Enumerate a lexicographic breath-first ordering of the nodes."""
         sigma = [set(self.neighbours)]
-        result = []
         while sigma:
             v = sigma[0].pop()
             yield v
@@ -55,7 +51,8 @@
 
     def find_node_coloring(self):
         """Return a random minimal node coloring, assuming that
-        the graph is chordal."""
+        the graph is chordal.  For non-chordal graphs this is just
+        an approximately good answer (but still a valid one)."""
         result = {}
         for v in self.lexicographic_order():
             forbidden = 0      # bitset

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	Wed Apr 14 15:21:43 2010
@@ -1,7 +1,7 @@
 from pypy.tool.algo.color import DependencyGraph
 
 
-def test_lexicographic_order():
+def graph1():
     dg = DependencyGraph()
     dg.add_node('a')
     dg.add_node('b')
@@ -15,6 +15,10 @@
     dg.add_edge('b', 'c')
     dg.add_edge('b', 'e')
     dg.add_edge('e', 'c')
+    return dg
+
+def test_lexicographic_order():
+    dg = graph1()
     order = list(dg.lexicographic_order())
     assert len(order) == 5
     order.reverse()
@@ -24,7 +28,13 @@
         'cebad', 'cebda', 'ceabd', 'ceadb', 'cedba', 'cedab',
         'cabde', 'cabed', 'cadbe', 'cadeb', 'caebd', 'caedb',
         ]
+
+def test_size_of_largest_clique():
+    dg = graph1()
     assert dg.size_of_largest_clique() == 3
+
+def test_find_node_coloring():
+    dg = graph1()
     coloring = dg.find_node_coloring()
     assert len(coloring) == 5
     assert sorted(coloring.keys()) == list('abcde')



More information about the Pypy-commit mailing list