Handle idempotence in Address()
This commit is contained in:
parent
7200d980d9
commit
176ab69638
|
@ -5,6 +5,7 @@ from . import base58
|
|||
|
||||
class Address(object):
|
||||
def __init__(self, address):
|
||||
address = str(address)
|
||||
if len(address) != 95:
|
||||
raise ValueError("Address must be 95 characters long, is %d" % len(address))
|
||||
self._decode(address)
|
||||
|
@ -47,6 +48,7 @@ class Address(object):
|
|||
|
||||
class IntegratedAddress(Address):
|
||||
def __init__(self, address):
|
||||
address = str(address)
|
||||
if len(address) != 106:
|
||||
raise ValueError("Integrated address must be 106 characters long, is %d" % len(address))
|
||||
self._decode(address)
|
||||
|
@ -62,6 +64,7 @@ class IntegratedAddress(Address):
|
|||
|
||||
|
||||
def address(addr):
|
||||
addr = str(addr)
|
||||
if len(addr) == 95:
|
||||
return Address(addr)
|
||||
elif len(addr) == 106:
|
||||
|
|
|
@ -43,6 +43,22 @@ class Tests(object):
|
|||
self.assertEqual(ia2.is_testnet(), self.testnet)
|
||||
self.assertEqual(ia2.get_base_address(), a)
|
||||
|
||||
def test_idempotence(self):
|
||||
a = Address(self.addr)
|
||||
a_idem = Address(a)
|
||||
self.assertEqual(a, a_idem)
|
||||
a_idem = Address(str(a))
|
||||
self.assertEqual(a, a_idem)
|
||||
a_idem = address(a)
|
||||
self.assertEqual(a, a_idem)
|
||||
|
||||
ia = IntegratedAddress(self.iaddr)
|
||||
ia_idem = IntegratedAddress(ia)
|
||||
self.assertEqual(ia, ia_idem)
|
||||
ia_idem = IntegratedAddress(str(ia))
|
||||
self.assertEqual(ia, ia_idem)
|
||||
ia_idem = address(ia)
|
||||
self.assertEqual(ia, ia_idem)
|
||||
|
||||
class AddressTestCase(unittest.TestCase, Tests):
|
||||
addr = '43aeKax1ts4BoEbSyzKVbbDRmc8nsnpZLUpQBYvhUxs3KVrodnaFaBEQMDp69u4VaiEG3LSQXA6M61mXPrztCLuh7PFUAmd'
|
||||
|
|
Loading…
Reference in New Issue