from sha import sha
from os import urandom
+from twisted.trial import unittest
+
def intify(hstr):
"""20 bit hash, big-endian -> long python integer"""
assert len(hstr) == 20
def newTID():
return randRange(-2**30, 2**30)
-### Test Cases ###
-import unittest
-
-class NewID(unittest.TestCase):
+class TestNewID(unittest.TestCase):
def testLength(self):
self.assertEqual(len(newID()), 20)
def testHundreds(self):
for x in xrange(100):
self.testLength
-class Intify(unittest.TestCase):
+class TestIntify(unittest.TestCase):
known = [('\0' * 20, 0),
('\xff' * 20, 2L**160 - 1),
]
for x in xrange(100):
self.testEndianessOnce()
-class Disantance(unittest.TestCase):
+class TestDisantance(unittest.TestCase):
known = [
(("\0" * 20, "\xff" * 20), 2**160L -1),
((sha("foo").digest(), sha("foo").digest()), 0),
x, y, z = newID(), newID(), newID()
self.assertEqual(distance(x,y) ^ distance(y, z), distance(x, z))
-class RandRange(unittest.TestCase):
+class TestRandRange(unittest.TestCase):
def testOnce(self):
a = intify(newID())
b = intify(newID())
def testOneHundredTimes(self):
for i in xrange(100):
self.testOnce()
-
-
-
-if __name__ == '__main__':
- unittest.main()
-
-