Add extra SHA tests

This commit is contained in:
Andrew M. Kuchling 2006-11-20 13:31:09 +00:00
parent 0e64202fd7
commit 90e23c4769
1 changed files with 18 additions and 1 deletions

View File

@ -11,9 +11,23 @@ from test import test_support
class SHATestCase(unittest.TestCase):
def check(self, data, digest):
computed = sha.new(data).hexdigest()
# Check digest matches the expected value
obj = sha.new(data)
computed = obj.hexdigest()
self.assert_(computed == digest)
# Verify that the value doesn't change between two consecutive
# digest operations.
computed_again = obj.hexdigest()
self.assert_(computed == computed_again)
# Check hexdigest() output matches digest()'s output
digest = obj.digest()
hexd = ""
for c in digest:
hexd += '%02x' % ord(c)
self.assert_(computed == hexd)
def test_case_1(self):
self.check("abc",
"a9993e364706816aba3e25717850c26c9cd0d89d")
@ -26,6 +40,9 @@ class SHATestCase(unittest.TestCase):
self.check("a" * 1000000,
"34aa973cd4c4daa4f61eeb2bdbad27316534016f")
def test_case_4(self):
self.check(chr(0xAA) * 80,
'4ca0ef38f1794b28a8f8ee110ee79d48ce13be25')
def test_main():
test_support.run_unittest(SHATestCase)