41 lines
1.9 KiB
Python
41 lines
1.9 KiB
Python
import unittest
|
|
import os, sys
|
|
parentPath = os.path.abspath("..")
|
|
if parentPath not in sys.path:
|
|
sys.path.insert(0, parentPath)
|
|
from pybtc import tools
|
|
from binascii import unhexlify, hexlify
|
|
|
|
|
|
|
|
class HashFunctionsTests(unittest.TestCase):
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
print("\nTesting hash functions:\n")
|
|
|
|
def test_double_sha256(self):
|
|
print("Double SHA256")
|
|
self.assertEqual(tools.double_sha256(b"test double sha256"),
|
|
unhexlify("1ab3067efb509c48bda198f48c473f034202537c28b7b4c3b2ab2c4bf4a95c8d"))
|
|
self.assertEqual(tools.double_sha256(hexlify(b"test double sha256").decode()),
|
|
unhexlify("1ab3067efb509c48bda198f48c473f034202537c28b7b4c3b2ab2c4bf4a95c8d"))
|
|
self.assertEqual(tools.double_sha256(hexlify(b"test double sha256").decode(), 1),
|
|
"1ab3067efb509c48bda198f48c473f034202537c28b7b4c3b2ab2c4bf4a95c8d")
|
|
|
|
def test_ripemd160(self):
|
|
print("RIPEMD160")
|
|
self.assertEqual(tools.ripemd160(b"test ripemd160"),
|
|
unhexlify("45b17861a7defaac439f740d890f3dac4813cc37"))
|
|
self.assertEqual(tools.ripemd160(hexlify(b"test ripemd160").decode()),
|
|
unhexlify("45b17861a7defaac439f740d890f3dac4813cc37"))
|
|
self.assertEqual(tools.ripemd160(hexlify(b"test ripemd160").decode(), 1),
|
|
"45b17861a7defaac439f740d890f3dac4813cc37")
|
|
def test_hash160(self):
|
|
print("HASH160")
|
|
self.assertEqual(tools.ripemd160(b"test hash160"),
|
|
unhexlify("46a80bd289028559818a222eea64552d7a6a966f"))
|
|
self.assertEqual(tools.ripemd160(hexlify(b"test hash160").decode()),
|
|
unhexlify("46a80bd289028559818a222eea64552d7a6a966f"))
|
|
self.assertEqual(tools.ripemd160(hexlify(b"test hash160").decode(), 1),
|
|
"46a80bd289028559818a222eea64552d7a6a966f")
|