@@ -2967,11 +2967,18 @@ fn it_converts_from_i128() {
2967
2967
( 92233720368547758089 , Some ( "92233720368547758089" ) ) ,
2968
2968
( 0xFFFF_FFFF_FFFF_FFFF_FFFF_FFFF , Some ( "79228162514264337593543950335" ) ) ,
2969
2969
( 0x7FFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF , None ) ,
2970
+ ( i128:: MIN , None ) ,
2971
+ ( i128:: MAX , None ) ,
2970
2972
] ;
2971
2973
for ( value, expected) in tests {
2972
- if let Some ( expected_value) = expected {
2973
- let decimal = Decimal :: from_str ( expected_value) . unwrap ( ) ;
2974
- assert_eq ! ( num_traits:: FromPrimitive :: from_i128( * value) , Some ( decimal) ) ;
2974
+ let from_i128 = num_traits:: FromPrimitive :: from_i128 ( * value) ;
2975
+
2976
+ match expected {
2977
+ Some ( expected_value) => {
2978
+ let decimal = Decimal :: from_str ( expected_value) . unwrap ( ) ;
2979
+ assert_eq ! ( from_i128, Some ( decimal) ) ;
2980
+ }
2981
+ None => assert ! ( from_i128. is_none( ) ) ,
2975
2982
}
2976
2983
}
2977
2984
}
@@ -2983,11 +2990,17 @@ fn it_converts_from_u128() {
2983
2990
( 0xFFFF_FFFF_FFFF_FFFF , Some ( "18446744073709551615" ) ) ,
2984
2991
( 0xFFFF_FFFF_FFFF_FFFF_FFFF_FFFF , Some ( "79228162514264337593543950335" ) ) ,
2985
2992
( 0x7FFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF , None ) ,
2993
+ ( u128:: MAX , None ) ,
2986
2994
] ;
2987
2995
for ( value, expected) in tests {
2988
- if let Some ( expected_value) = expected {
2989
- let decimal = Decimal :: from_str ( expected_value) . unwrap ( ) ;
2990
- assert_eq ! ( num_traits:: FromPrimitive :: from_u128( * value) , Some ( decimal) ) ;
2996
+ let from_u128 = num_traits:: FromPrimitive :: from_u128 ( * value) ;
2997
+
2998
+ match expected {
2999
+ Some ( expected_value) => {
3000
+ let decimal = Decimal :: from_str ( expected_value) . unwrap ( ) ;
3001
+ assert_eq ! ( from_u128, Some ( decimal) ) ;
3002
+ }
3003
+ None => assert ! ( from_u128. is_none( ) ) ,
2991
3004
}
2992
3005
}
2993
3006
}
0 commit comments