Example #1
0
def hash_string_to_integer(string, size=32):
    return deserialize_hash(StringIO(string.decode('hex')[::-1]), size)
Example #2
0
 def __test__(self, list_, len_, result):
     file_ = StringIO(result)
     self.assertEqual(list(deserialize_list(file_, lambda f:deserialize_hash(f, len_))), list_)
Example #3
0
    class test_serialize(ScenarioTest):
        scenarios = HASH_LIST
        def __test__(self, list_, len_, result):
            self.assertEqual(serialize_list(list_, lambda h:serialize_hash(h, len_)), result)
    class test_deserialize(ScenarioTest):
        scenarios = HASH_LIST
        def __test__(self, list_, len_, result):
            file_ = StringIO(result)
            self.assertEqual(list(deserialize_list(file_, lambda f:deserialize_hash(f, len_))), list_)

# FIXME: test serialization of a list of inputs, outputs, transactions,
#     blocks, etc.

INVALID_LIST = [
    dict(invalid='030102'.decode('hex'), deserializer=deserialize_varint),
    dict(invalid='040002aabb03ccddee'.decode('hex'), deserializer=deserialize_varchar),
    dict(invalid='05aabbccdd'.decode('hex'), deserializer=lambda f:deserialize_hash(f,1)),
]

class TestInvalidListSerialization(unittest2.TestCase):
    __metaclass__ = ScenarioMeta
    class test_invalid_serialization(ScenarioTest):
        scenarios = INVALID_LIST
        def __test__(self, invalid, deserializer):
            file_ = StringIO(invalid)
            self.assertRaises(BaseException, deserialize_list, (file_, deserializer))

#
# End of File
#
Example #4
0
 def __test__(self, hash_, len_, result):
     file_ = StringIO(result)
     self.assertEqual(deserialize_hash(file_, len_), hash_)
Example #5
0
def hash_string_to_integer(string, size=32):
    return deserialize_hash(StringIO(string.decode('hex')[::-1]), size)