[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