-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathtest_unit_converter.py
More file actions
138 lines (109 loc) · 7.17 KB
/
test_unit_converter.py
File metadata and controls
138 lines (109 loc) · 7.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
from crypto.utils.unit_converter import UnitConverter
from decimal import Decimal
def test_it_should_parse_units_into_wei():
assert UnitConverter.parse_units(1, 'wei') == Decimal('1')
assert UnitConverter.parse_units(1.0, 'wei') == Decimal('1')
assert UnitConverter.parse_units('1', 'wei') == Decimal('1')
assert UnitConverter.parse_units('1.0', 'wei') == Decimal('1')
assert UnitConverter.parse_units(Decimal(1), 'wei') == Decimal('1')
assert UnitConverter.parse_units(Decimal(1.0), 'wei') == Decimal('1')
assert UnitConverter.parse_units(Decimal('1'), 'wei') == Decimal('1')
assert UnitConverter.parse_units(Decimal('1.0'), 'wei') == Decimal('1')
assert isinstance(UnitConverter.parse_units(1, 'wei'), Decimal)
def test_it_should_parse_units_into_gwei():
assert UnitConverter.parse_units(1, 'gwei') == Decimal('1000000000')
assert UnitConverter.parse_units(1.0, 'gwei') == Decimal('1000000000')
assert UnitConverter.parse_units('1', 'gwei') == Decimal('1000000000')
assert UnitConverter.parse_units('1.0', 'gwei') == Decimal('1000000000')
assert UnitConverter.parse_units(Decimal(1), 'gwei') == Decimal('1000000000')
assert UnitConverter.parse_units(Decimal(1.0), 'gwei') == Decimal('1000000000')
assert UnitConverter.parse_units(Decimal('1'), 'gwei') == Decimal('1000000000')
assert UnitConverter.parse_units(Decimal('1.0'), 'gwei') == Decimal('1000000000')
assert isinstance(UnitConverter.parse_units(1, 'gwei'), Decimal)
def test_it_should_parse_units_into_ark():
assert UnitConverter.parse_units(1, 'ark') == Decimal('1000000000000000000')
assert UnitConverter.parse_units(1.0, 'ark') == Decimal('1000000000000000000')
assert UnitConverter.parse_units('1', 'ark') == Decimal('1000000000000000000')
assert UnitConverter.parse_units('1.0', 'ark') == Decimal('1000000000000000000')
assert UnitConverter.parse_units(Decimal(1), 'ark') == Decimal('1000000000000000000')
assert UnitConverter.parse_units(Decimal(1.0), 'ark') == Decimal('1000000000000000000')
assert UnitConverter.parse_units(Decimal('1'), 'ark') == Decimal('1000000000000000000')
assert UnitConverter.parse_units(Decimal('1.0'), 'ark') == Decimal('1000000000000000000')
assert isinstance(UnitConverter.parse_units(1, 'ark'), Decimal)
def test_it_should_parse_decimal_units_into_ark():
assert UnitConverter.parse_units(0.1, 'ark') == Decimal('100000000000000000')
assert UnitConverter.parse_units('0.1', 'ark') == Decimal('100000000000000000')
def test_it_should_format_units_from_wei():
assert UnitConverter.format_units(1, 'wei') == 1.0
assert UnitConverter.format_units(1.0, 'wei') == 1.0
assert UnitConverter.format_units('1', 'wei') == 1.0
assert UnitConverter.format_units('1.0', 'wei') == 1.0
assert UnitConverter.format_units(Decimal(1), 'wei') == 1.0
assert UnitConverter.format_units(Decimal(1.0), 'wei') == 1.0
assert UnitConverter.format_units(Decimal('1'), 'wei') == 1.0
assert UnitConverter.format_units(Decimal('1.0'), 'wei') == 1.0
def test_it_should_format_units_from_gwei():
assert UnitConverter.format_units(1000000000, 'gwei') == 1.0
assert UnitConverter.format_units('1000000000', 'gwei') == 1.0
assert UnitConverter.format_units(Decimal(1000000000), 'gwei') == 1.0
assert UnitConverter.format_units(Decimal('1000000000'), 'gwei') == 1.0
def test_it_should_format_units_from_ark():
assert UnitConverter.format_units(1000000000000000000, 'ark') == 1.0
assert UnitConverter.format_units('1000000000000000000', 'ark') == 1.0
assert UnitConverter.format_units(Decimal(1000000000000000000), 'ark') == 1.0
assert UnitConverter.format_units(Decimal('1000000000000000000'), 'ark') == 1.0
def test_it_should_throw_exception_for_unsupported_unit_in_parse():
try:
UnitConverter.parse_units(1, 'unsupported')
except ValueError as e:
assert str(e) == 'Unsupported unit: unsupported. Supported units are \'wei\', \'gwei\', and \'ark\'.'
def test_it_should_throw_exception_for_unsupported_unit_in_format():
try:
UnitConverter.format_units('1', 'unsupported')
except ValueError as e:
assert str(e) == 'Unsupported unit: unsupported. Supported units are \'wei\', \'gwei\', and \'ark\'.'
def test_it_should_parse_units_into_ark_with_fraction():
assert UnitConverter.parse_units(0.1, 'ark') == 100000000000000000
assert UnitConverter.parse_units('0.1', 'ark') == 100000000000000000
def test_it_should_convert_wei_to_ark():
assert UnitConverter.wei_to_ark(1, 'DARK') == '0.000000000000000001 DARK'
assert UnitConverter.wei_to_ark(1) == '0.000000000000000001'
assert UnitConverter.wei_to_ark(1000000000000000000, 'DARK') == '1 DARK'
assert UnitConverter.wei_to_ark(1000000000000000000) == '1'
assert UnitConverter.wei_to_ark('1', 'DARK') == '0.000000000000000001 DARK'
assert UnitConverter.wei_to_ark('1') == '0.000000000000000001'
assert UnitConverter.wei_to_ark('1000000000000000000', 'DARK') == '1 DARK'
assert UnitConverter.wei_to_ark('1000000000000000000') == '1'
assert UnitConverter.wei_to_ark(Decimal(1), 'DARK') == '0.000000000000000001 DARK'
assert UnitConverter.wei_to_ark(Decimal(1)) == '0.000000000000000001'
assert UnitConverter.wei_to_ark(Decimal(1000000000000000000), 'DARK') == '1 DARK'
assert UnitConverter.wei_to_ark(Decimal(1000000000000000000)) == '1'
assert UnitConverter.wei_to_ark(Decimal('1'), 'DARK') == '0.000000000000000001 DARK'
assert UnitConverter.wei_to_ark(Decimal('1')) == '0.000000000000000001'
assert UnitConverter.wei_to_ark(Decimal('1000000000000000000'), 'DARK') == '1 DARK'
assert UnitConverter.wei_to_ark(Decimal('1000000000000000000')) == '1'
def test_it_should_convert_gwei_to_ark():
assert UnitConverter.gwei_to_ark(1, 'DARK') == '0.000000001 DARK'
assert UnitConverter.gwei_to_ark(1) == '0.000000001'
assert UnitConverter.gwei_to_ark(1000000000, 'DARK') == '1 DARK'
assert UnitConverter.gwei_to_ark(1000000000) == '1'
assert UnitConverter.gwei_to_ark('1', 'DARK') == '0.000000001 DARK'
assert UnitConverter.gwei_to_ark('1') == '0.000000001'
assert UnitConverter.gwei_to_ark('1000000000', 'DARK') == '1 DARK'
assert UnitConverter.gwei_to_ark('1000000000') == '1'
assert UnitConverter.gwei_to_ark(Decimal(1), 'DARK') == '0.000000001 DARK'
assert UnitConverter.gwei_to_ark(Decimal(1)) == '0.000000001'
assert UnitConverter.gwei_to_ark(Decimal(1000000000), 'DARK') == '1 DARK'
assert UnitConverter.gwei_to_ark(Decimal(1000000000)) == '1'
assert UnitConverter.gwei_to_ark(Decimal('1'), 'DARK') == '0.000000001 DARK'
assert UnitConverter.gwei_to_ark(Decimal('1')) == '0.000000001'
assert UnitConverter.gwei_to_ark(Decimal('1000000000'), 'DARK') == '1 DARK'
assert UnitConverter.gwei_to_ark(Decimal('1000000000')) == '1'
def test_it_should_handle_large_token_supply():
large_supply = '999999999999999999999999999999999999999'
result = UnitConverter.format_units(large_supply, 'ark')
assert isinstance(result, Decimal)
assert result == Decimal('999999999999999999999.999999999999999999')
result = UnitConverter.parse_units(large_supply, 'wei')
assert isinstance(result, Decimal)
assert result == Decimal(large_supply)