[Zodb-checkins] CVS: ZODB/src/ZODB/zodb4/tests - test_z4utils.py:1.2 __init__.py:1.2

Jeremy Hylton jeremy at zope.com
Fri Feb 20 14:01:37 EST 2004


Update of /cvs-repository/ZODB/src/ZODB/zodb4/tests
In directory cvs.zope.org:/tmp/cvs-serv14175/src/ZODB/zodb4/tests

Added Files:
	test_z4utils.py __init__.py 
Log Message:
Merge zodb4 conversion code from the zope3-zodb3-devel-branch.


=== ZODB/src/ZODB/zodb4/tests/test_z4utils.py 1.1 => 1.2 ===
--- /dev/null	Fri Feb 20 14:01:37 2004
+++ ZODB/src/ZODB/zodb4/tests/test_z4utils.py	Fri Feb 20 14:01:06 2004
@@ -0,0 +1,49 @@
+##############################################################################
+#
+# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.0 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Test the routines to convert between long and 64-bit strings"""
+
+# originally zodb.tests.test_utils
+
+import random
+import unittest
+
+NUM = 100
+
+from ZODB.zodb4.z4utils import p64, u64
+
+class TestUtils(unittest.TestCase):
+
+    small = [random.randrange(1, 1L<<32, int=long)
+             for i in range(NUM)]
+    large = [random.randrange(1L<<32, 1L<<64, int=long)
+             for i in range(NUM)]
+    all = small + large
+
+    def test_LongToStringToLong(self):
+        for num in self.all:
+            s = p64(num)
+            n2 = u64(s)
+            self.assertEquals(num, n2, "u64() failed")
+
+    def test_KnownConstants(self):
+        self.assertEquals("\000\000\000\000\000\000\000\001", p64(1))
+        self.assertEquals("\000\000\000\001\000\000\000\000", p64(1L<<32))
+        self.assertEquals(u64("\000\000\000\000\000\000\000\001"), 1)
+        self.assertEquals(u64("\000\000\000\001\000\000\000\000"), 1L<<32)
+
+def test_suite():
+    return unittest.makeSuite(TestUtils)
+
+if __name__ == "__main__":
+    unittest.main(defaultTest="test_suite")


=== ZODB/src/ZODB/zodb4/tests/__init__.py 1.1 => 1.2 ===
--- /dev/null	Fri Feb 20 14:01:37 2004
+++ ZODB/src/ZODB/zodb4/tests/__init__.py	Fri Feb 20 14:01:06 2004
@@ -0,0 +1 @@
+# This directory contains a Python package.




More information about the Zodb-checkins mailing list