[Zodb-checkins] CVS: StandaloneZODB/ZODB/tests - testUtils.py:1.1
   
    Jeremy Hylton
     
    jeremy@zope.com
       
    Fri, 5 Oct 2001 17:12:21 -0400
    
    
  
Update of /cvs-repository/StandaloneZODB/ZODB/tests
In directory cvs.zope.org:/tmp/cvs-serv8826
Added Files:
	testUtils.py 
Log Message:
Add some tests of the utility routines
=== Added File StandaloneZODB/ZODB/tests/testUtils.py ===
"""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)