[pypy-svn] r23796 - pypy/dist/pypy/module/stackless/test

mwh at codespeak.net mwh at codespeak.net
Wed Mar 1 01:27:54 CET 2006


Author: mwh
Date: Wed Mar  1 01:27:51 2006
New Revision: 23796

Modified:
   pypy/dist/pypy/module/stackless/test/test_interp_coroutine.py
Log:
(moshez, mwh)
clean up our test a bit, rename some things to be
less actively misleading, test a bit more.
oh, and actually run the test.


Modified: pypy/dist/pypy/module/stackless/test/test_interp_coroutine.py
==============================================================================
--- pypy/dist/pypy/module/stackless/test/test_interp_coroutine.py	(original)
+++ pypy/dist/pypy/module/stackless/test/test_interp_coroutine.py	Wed Mar  1 01:27:51 2006
@@ -210,7 +210,7 @@
     data = wrap_stackless_function(f)
     assert int(data.strip()) == 4711
 
-def dont_test_tree_differ():
+def test_tree_compare():
     class Node:
         def __init__(self, value, left=None, right=None):
             self.value = value
@@ -219,29 +219,10 @@
         def __repr__(self):
             return 'Node(%r, %r, %r)'%(self.value, self.left, self.right)
 
-    tree1 = Node(1, Node(2))
-    tree2 = Node(1, Node(2))
+    tree1 = Node(1, Node(2, Node(3)))
+    tree2 = Node(1, Node(3, Node(2)))
+    tree3 = Node(1, Node(2), Node(3))
     
-    def eq(t1, t2):
-        if t1 is None:
-            return t2 is None
-        if t1.value != t2.value:
-            return False
-        if t1.left is None:
-            if t2.left is None:
-                return eq(t1.right, t2.right)
-            else:
-                return False
-        if t2.right is None:
-            if t1.right is None:
-                return eq(t1.left, t2.left)
-            else:
-                return False
-        else:
-            return eq(t1.left, t2.left) and eq(t1.right, t2.right)
-
-#    assert not eq(tree1, tree2)
-
     class Super:
         pass
     class Producer(Super):
@@ -281,7 +262,7 @@
             self.result = self.consume(self.tree)
             costate.main.switch()
 
-    def eq2(t1, t2):
+    def pre_order_eq(t1, t2):
         objects = []
         producer = Coroutine()
         consumer = Coroutine()
@@ -295,10 +276,14 @@
         return cons.result
 
     def ep():
-        return eq2(tree1, tree2)
+        return "%d %d %d %d"%(pre_order_eq(tree1, tree2),
+                              pre_order_eq(tree1, tree1),
+                              pre_order_eq(tree1, tree3),
+                              pre_order_eq(tree2, tree1),
 
+                              )
+    
     output = wrap_stackless_function(ep)
-    print '!!!!!!', output
-    assert False
+    assert output.strip() == '0 1 1 0'
             
             



More information about the Pypy-commit mailing list