mirror of
https://git.wownero.com/lza_menace/wownero-python.git
synced 2024-08-15 03:25:25 +00:00
Add number conversion
This commit is contained in:
parent
bbeb7d85a2
commit
0952fe0893
4 changed files with 27 additions and 0 deletions
2
tests/__init__.py
Normal file
2
tests/__init__.py
Normal file
|
@ -0,0 +1,2 @@
|
|||
from .address import AddressTestCase, TestnetAddressTestCase
|
||||
from .numbers import NumbersTestCase
|
62
tests/address.py
Normal file
62
tests/address.py
Normal file
|
@ -0,0 +1,62 @@
|
|||
import unittest
|
||||
|
||||
from monero.address import Address, IntegratedAddress, address
|
||||
|
||||
class Tests(object):
|
||||
def test_from_and_to_string(self):
|
||||
a = Address(self.addr)
|
||||
self.assertEqual(str(a), self.addr)
|
||||
self.assertEqual(a.get_spend_key(), self.psk)
|
||||
self.assertEqual(a.get_view_key(), self.pvk)
|
||||
|
||||
ia = IntegratedAddress(self.iaddr)
|
||||
self.assertEqual(ia.get_payment_id(), self.pid)
|
||||
self.assertEqual(str(ia), self.iaddr)
|
||||
self.assertEqual(ia.get_spend_key(), self.psk)
|
||||
self.assertEqual(ia.get_view_key(), self.pvk)
|
||||
self.assertEqual(ia.get_base_address(), a)
|
||||
|
||||
def test_payment_id(self):
|
||||
a = Address(self.addr)
|
||||
ia = a.with_payment_id(self.pid)
|
||||
self.assertIsInstance(ia, IntegratedAddress)
|
||||
self.assertEqual(ia.get_payment_id(), self.pid)
|
||||
self.assertEqual(str(ia), self.iaddr)
|
||||
|
||||
def test_recognition_and_comparisons(self):
|
||||
a = Address(self.addr)
|
||||
a2 = address(self.addr)
|
||||
self.assertIsInstance(a2, Address)
|
||||
self.assertEqual(a, a2)
|
||||
self.assertEqual(a, self.addr)
|
||||
self.assertEqual(self.addr, a)
|
||||
self.assertEqual(a.is_testnet(), self.testnet)
|
||||
self.assertEqual(a2.is_testnet(), self.testnet)
|
||||
|
||||
ia = IntegratedAddress(self.iaddr)
|
||||
ia2 = address(self.iaddr)
|
||||
self.assertIsInstance(ia, IntegratedAddress)
|
||||
self.assertEqual(ia, ia2)
|
||||
self.assertEqual(ia, self.iaddr)
|
||||
self.assertEqual(self.iaddr, ia)
|
||||
self.assertEqual(ia.is_testnet(), self.testnet)
|
||||
self.assertEqual(ia2.is_testnet(), self.testnet)
|
||||
self.assertEqual(ia2.get_base_address(), a)
|
||||
|
||||
|
||||
class AddressTestCase(unittest.TestCase, Tests):
|
||||
addr = '43aeKax1ts4BoEbSyzKVbbDRmc8nsnpZLUpQBYvhUxs3KVrodnaFaBEQMDp69u4VaiEG3LSQXA6M61mXPrztCLuh7PFUAmd'
|
||||
psk = '33a7ceb933b793408d49e82c0a34664a4be7117243cb77a64ef280b866d8aa6e'
|
||||
pvk = '96f70d63d9d3558b97a5dd200a170b4f45b3177a274aa90496ea683896ff6438'
|
||||
pid = '4a6f686e47616c74'
|
||||
iaddr = '4DHKLPmWW8aBoEbSyzKVbbDRmc8nsnpZLUpQBYvhUxs3KVrodnaFaBEQMDp69u4VaiEG3LSQXA6M61mXPrztCLuhAR6GpL18QNwE8h3TuF'
|
||||
testnet = False
|
||||
|
||||
|
||||
class TestnetAddressTestCase(AddressTestCase, Tests):
|
||||
addr = '9u9j6xG1GNu4ghrdUL35m5PQcJV69YF8731DSTDoh7pDgkBWz2LWNzncq7M5s1ARjPRhvGPX4dBUeC3xNj4wzfrjV6SY3e9'
|
||||
psk = '345b201b8d1ba216074e3c45ca606c85f68563f60d0b8c0bfab5123f80692aed'
|
||||
pvk = '9deb70cc7e1e23d635de2d5a3086a293b4580dc2b9133b4211bc09f22fadc4f9'
|
||||
pid = '4a6f686e47616c74'
|
||||
iaddr = 'A4rQ7m5VseR4ghrdUL35m5PQcJV69YF8731DSTDoh7pDgkBWz2LWNzncq7M5s1ARjPRhvGPX4dBUeC3xNj4wzfrjihS6W83Km1mE7W3kMa'
|
||||
testnet = True
|
16
tests/numbers.py
Normal file
16
tests/numbers.py
Normal file
|
@ -0,0 +1,16 @@
|
|||
from decimal import Decimal
|
||||
import unittest
|
||||
|
||||
from monero.numbers import to_atomic, from_atomic
|
||||
|
||||
class NumbersTestCase(unittest.TestCase):
|
||||
def test_simple_numbers(self):
|
||||
self.assertEqual(to_atomic(Decimal('0')), 0)
|
||||
self.assertEqual(from_atomic(0), Decimal('0'))
|
||||
self.assertEqual(to_atomic(Decimal('1')), 1000000000000)
|
||||
self.assertEqual(from_atomic(1000000000000), Decimal('1'))
|
||||
self.assertEqual(to_atomic(Decimal('0.000000000001')), 1)
|
||||
self.assertEqual(from_atomic(1), Decimal('0.000000000001'))
|
||||
|
||||
def test_rounding(self):
|
||||
self.assertEqual(to_atomic(Decimal('1.0000000000004')), 1000000000000)
|
Loading…
Add table
Add a link
Reference in a new issue