@@ -12,6 +12,7 @@ describe('PLT TokenAmount', () => {
12
12
expect ( TokenAmount . fromDecimal ( '15.002456687544126548' , 18 ) ) . toEqual (
13
13
TokenAmount . create ( 15002456687544126548n , 18 )
14
14
) ;
15
+ expect ( TokenAmount . fromDecimal ( MAX_U64 , 0 ) ) . toEqual ( TokenAmount . create ( MAX_U64 , 0 ) ) ;
15
16
} ) ;
16
17
17
18
test ( 'Parses large decimal values correctly' , ( ) => {
@@ -26,7 +27,21 @@ describe('PLT TokenAmount', () => {
26
27
27
28
test ( 'Token amounts with invalid values throws' , ( ) => {
28
29
expect ( ( ) => TokenAmount . create ( - 504n , 0 ) ) . toThrow ( TokenAmount . Err . negative ( ) ) ;
30
+ expect ( ( ) => TokenAmount . create ( - 504n , 1 ) ) . toThrow ( TokenAmount . Err . negative ( ) ) ;
31
+ expect ( ( ) => TokenAmount . fromDecimal ( - 504n , 0 ) ) . toThrow ( TokenAmount . Err . negative ( ) ) ;
32
+ expect ( ( ) => TokenAmount . fromDecimal ( - 504n , 1 ) ) . toThrow ( TokenAmount . Err . negative ( ) ) ;
29
33
expect ( ( ) => TokenAmount . create ( MAX_U64 + 1n , 0 ) ) . toThrow ( TokenAmount . Err . exceedsMaxValue ( ) ) ;
34
+ expect ( ( ) => TokenAmount . create ( 99999999999999999999999999n , 1 ) ) . toThrow ( TokenAmount . Err . exceedsMaxValue ( ) ) ;
35
+ expect ( ( ) => TokenAmount . fromDecimal ( MAX_U64 + 1n , 0 ) ) . toThrow ( TokenAmount . Err . exceedsMaxValue ( ) ) ;
36
+ expect ( ( ) => TokenAmount . fromDecimal ( 99999999999999999999999999n , 1 ) ) . toThrow (
37
+ TokenAmount . Err . exceedsMaxValue ( )
38
+ ) ;
39
+ } ) ;
40
+
41
+ test ( 'Token amounts with more decimals than specified throws' , ( ) => {
42
+ expect ( ( ) => TokenAmount . fromDecimal ( '1.000003' , 0 ) ) . toThrow (
43
+ 'The amount has more decimal places than the specified decimals.'
44
+ ) ;
30
45
} ) ;
31
46
32
47
test ( 'Returns expected amount' , ( ) => {
0 commit comments