2017-12-27 11:48:05 +00:00
|
|
|
from common import *
|
2018-02-09 12:36:08 +00:00
|
|
|
from apps.ethereum.layout import format_ethereum_amount
|
2017-12-27 11:48:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
class TestEthereumLayout(unittest.TestCase):
|
|
|
|
|
|
|
|
def test_format(self):
|
2018-03-03 22:37:21 +00:00
|
|
|
text = format_ethereum_amount((1).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '1 Wei ETH')
|
|
|
|
text = format_ethereum_amount((1000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '1000 Wei ETH')
|
|
|
|
text = format_ethereum_amount((1000000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '1000000 Wei ETH')
|
|
|
|
text = format_ethereum_amount((10000000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '10000000 Wei ETH')
|
|
|
|
text = format_ethereum_amount((100000000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '100000000 Wei ETH')
|
|
|
|
text = format_ethereum_amount((1000000000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '1000000000 Wei ETH')
|
|
|
|
text = format_ethereum_amount((10000000000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '0.00000001 ETH')
|
|
|
|
text = format_ethereum_amount((100000000000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '0.0000001 ETH')
|
|
|
|
text = format_ethereum_amount((1000000000000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '0.000001 ETH')
|
|
|
|
text = format_ethereum_amount((10000000000000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '0.00001 ETH')
|
|
|
|
text = format_ethereum_amount((100000000000000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '0.0001 ETH')
|
|
|
|
text = format_ethereum_amount((1000000000000000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '0.001 ETH')
|
|
|
|
text = format_ethereum_amount((10000000000000000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '0.01 ETH')
|
|
|
|
text = format_ethereum_amount((100000000000000000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '0.1 ETH')
|
|
|
|
text = format_ethereum_amount((1000000000000000000).to_bytes(32, 'big'), None, 1)
|
2017-12-27 11:48:05 +00:00
|
|
|
self.assertEqual(text, '1 ETH')
|
2018-03-03 22:37:21 +00:00
|
|
|
text = format_ethereum_amount((10000000000000000000).to_bytes(32, 'big'), None, 1)
|
2017-12-27 11:48:05 +00:00
|
|
|
self.assertEqual(text, '10 ETH')
|
2018-03-03 22:37:21 +00:00
|
|
|
text = format_ethereum_amount((100000000000000000000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '100 ETH')
|
|
|
|
text = format_ethereum_amount((1000000000000000000000).to_bytes(32, 'big'), None, 1)
|
|
|
|
self.assertEqual(text, '1000 ETH')
|
|
|
|
|
|
|
|
text = format_ethereum_amount((1000000000000000000).to_bytes(32, 'big'), None, 61)
|
|
|
|
self.assertEqual(text, '1 ETC')
|
|
|
|
text = format_ethereum_amount((1000000000000000000).to_bytes(32, 'big'), None, 31)
|
2017-12-27 11:48:05 +00:00
|
|
|
self.assertEqual(text, '1 tRSK')
|
|
|
|
|
2018-03-03 22:37:21 +00:00
|
|
|
text = format_ethereum_amount((1000000000000000001).to_bytes(32, 'big'), None, 1)
|
2018-02-09 12:36:08 +00:00
|
|
|
self.assertEqual(text, '1.000000000000000001 ETH')
|
2018-03-03 22:37:21 +00:00
|
|
|
text = format_ethereum_amount((10000000000000000001).to_bytes(32, 'big'), None, 1)
|
2018-02-09 12:36:08 +00:00
|
|
|
self.assertEqual(text, '10.000000000000000001 ETH')
|
2018-03-03 22:37:21 +00:00
|
|
|
text = format_ethereum_amount((10000000000000000001).to_bytes(32, 'big'), None, 61)
|
2018-02-09 12:36:08 +00:00
|
|
|
self.assertEqual(text, '10.000000000000000001 ETC')
|
2018-03-03 22:37:21 +00:00
|
|
|
text = format_ethereum_amount((1000000000000000001).to_bytes(32, 'big'), None, 31)
|
2018-02-09 12:36:08 +00:00
|
|
|
self.assertEqual(text, '1.000000000000000001 tRSK')
|
|
|
|
|
2017-12-27 11:48:05 +00:00
|
|
|
# unknown chain
|
2018-03-03 22:37:21 +00:00
|
|
|
text = format_ethereum_amount((1).to_bytes(32, 'big'), None, 9999)
|
|
|
|
self.assertEqual(text, '1 Wei UNKN')
|
|
|
|
text = format_ethereum_amount((10000000000000000001).to_bytes(32, 'big'), None, 9999)
|
2018-02-09 12:36:08 +00:00
|
|
|
self.assertEqual(text, '10.000000000000000001 UNKN')
|
2017-12-27 11:48:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
unittest.main()
|