[pypy-svn] r9921 - pypy/dist/pypy/lib/test2

alex at codespeak.net alex at codespeak.net
Sun Mar 20 16:34:41 CET 2005


Author: alex
Date: Sun Mar 20 16:34:41 2005
New Revision: 9921

Modified:
   pypy/dist/pypy/lib/test2/test_obj.py
Log:
test pickle (plain) on user class



Modified: pypy/dist/pypy/lib/test2/test_obj.py
==============================================================================
--- pypy/dist/pypy/lib/test2/test_obj.py	(original)
+++ pypy/dist/pypy/lib/test2/test_obj.py	Sun Mar 20 16:34:41 2005
@@ -1,23 +1,36 @@
-# -*- coding: iso-8859-1 -*-
-import unittest, test.test_support
-import sys, cStringIO
-
-class ObjectTest(unittest.TestCase):
-
-    def test_hash_builtin(self):
-        o = object()
-        self.assertEquals(hash(o), id(o))
-
-    def test_hash_method(self):
-        o = object()
-        self.assertEquals(hash(o), o.__hash__())
-
-    def test_hash_list(self):
-        l = range(5)
-        self.assertRaises(TypeError, hash, l)
-
-def test_main():
-    test.test_support.run_unittest(ObjectTest)
-
-if __name__ == "__main__":
-    test_main()
+# -*- coding: iso-8859-1 -*-
+import unittest, test.test_support
+import sys, cStringIO, pickle
+
+class Picklable(object):
+    def __init__(self):
+	self.a = 5
+    def __eq__(self, other):
+	return self.a == other.a
+
+class ObjectTest(unittest.TestCase):
+
+    def test_hash_builtin(self):
+        o = object()
+        self.assertEquals(hash(o), id(o))
+
+    def test_hash_method(self):
+        o = object()
+        self.assertEquals(hash(o), o.__hash__())
+
+    def test_hash_list(self):
+        l = range(5)
+        self.assertRaises(TypeError, hash, l)
+
+    def test_pickle_plain(self):
+	x = Picklable()
+	for proto in range(pickle.HIGHEST_PROTOCOL + 1):
+	    s = pickle.dumps(x, proto)
+	    y = pickle.loads(s)
+	    self.assertEqual(x, y)
+
+def test_main():
+    test.test_support.run_unittest(ObjectTest)
+
+if __name__ == "__main__":
+    test_main()



More information about the Pypy-commit mailing list