[pypy-svn] rev 486 - in pypy/trunk/src/pypy/objspace/std: . test
arigo at codespeak.net
arigo at codespeak.net
Mon May 26 19:41:42 CEST 2003
Author: arigo
Date: Mon May 26 19:41:42 2003
New Revision: 486
Modified:
pypy/trunk/src/pypy/objspace/std/test/test_tupleobject.py
pypy/trunk/src/pypy/objspace/std/tupleobject.py
Log:
equality between tuples
Modified: pypy/trunk/src/pypy/objspace/std/test/test_tupleobject.py
==============================================================================
--- pypy/trunk/src/pypy/objspace/std/test/test_tupleobject.py (original)
+++ pypy/trunk/src/pypy/objspace/std/test/test_tupleobject.py Mon May 26 19:41:42 2003
@@ -55,5 +55,19 @@
self.assertRaises(NoValue, self.space.next, w_iter)
self.assertRaises(NoValue, self.space.next, w_iter)
+ def test_add(self):
+ w = self.space.wrap
+ w_tuple0 = tobj.W_TupleObject([])
+ w_tuple1 = tobj.W_TupleObject([w(5), w(3), w(99)])
+ w_tuple2 = tobj.W_TupleObject([w(-7)] * 111)
+ self.assertEqual_w(self.space.add(w_tuple1, w_tuple1),
+ tobj.W_TupleObject([w(5), w(3), w(99),
+ w(5), w(3), w(99)]))
+ self.assertEqual_w(self.space.add(w_tuple1, w_tuple2),
+ tobj.W_TupleObject([w(5), w(3), w(99)] +
+ [w(-7)] * 111))
+ self.assertEqual_w(self.space.add(w_tuple1, w_tuple0), w_tuple1)
+ self.assertEqual_w(self.space.add(w_tuple0, w_tuple2), w_tuple2)
+
if __name__ == '__main__':
unittest.main()
Modified: pypy/trunk/src/pypy/objspace/std/tupleobject.py
==============================================================================
--- pypy/trunk/src/pypy/objspace/std/tupleobject.py (original)
+++ pypy/trunk/src/pypy/objspace/std/tupleobject.py Mon May 26 19:41:42 2003
@@ -53,3 +53,15 @@
return W_TupleObject(items1 + items2)
StdObjSpace.add.register(tuple_add, W_TupleObject, W_TupleObject)
+
+def tuple_eq(space, w_tuple1, w_tuple2):
+ items1 = w_tuple1.wrappeditems
+ items2 = w_tuple2.wrappeditems
+ if len(items1) != len(items2):
+ return space.w_False
+ for item1, item2 in zip(items1, items2):
+ if not space.is_true(space.eq(item1, item2)):
+ return space.w_False
+ return space.w_True
+
+StdObjSpace.eq.register(tuple_eq, W_TupleObject, W_TupleObject)
More information about the Pypy-commit
mailing list