Skip to content
Browse files

Add some tests of the utility routines

  • Loading branch information...
1 parent ff44ee8 commit fd1653580ca67bdc281fb8c54662c97dd3cf1aaa Jeremy Hylton committed Oct 5, 2001
Showing with 41 additions and 0 deletions.
  1. +41 −0 src/ZODB/tests/testUtils.py
View
41 src/ZODB/tests/testUtils.py
@@ -0,0 +1,41 @@
+"""Test the routines to convert between long and 64-bit strings"""
+
+import random
+import unittest
+
+NUM = 100
+
+from ZODB.utils import U64, 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 checkLongToStringToLong(self):
+ for num in self.all:
+ s = p64(num)
+ n = U64(s)
+ self.assertEquals(num, n, "U64() failed")
+ n2 = u64(s)
+ self.assertEquals(num, n2, "u64() failed")
+
+ def checkKnownConstants(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\000\000\000\000\001"), 1)
+ self.assertEquals(u64("\000\000\000\001\000\000\000\000"), 1L<<32)
+ self.assertEquals(U64("\000\000\000\001\000\000\000\000"), 1L<<32)
+
+def test_suite():
+ return unittest.makeSuite(TestUtils, 'check')
+
+if __name__ == "__main__":
+ loader = unittest.TestLoader()
+ loader.testMethodPrefix = "check"
+ unittest.main(testLoader=loader)
+

0 comments on commit fd16535

Please sign in to comment.
Something went wrong with that request. Please try again.