@@ -912,6 +912,26 @@ def test_localize_forces_coerce_to_string(self):
912
912
self .assertTrue (isinstance (field .to_representation (Decimal ('1.1' )), six .string_types ))
913
913
914
914
915
+ class TestQuantizedValueForDecimal (TestCase ):
916
+ def test_int_quantized_value_for_decimal (self ):
917
+ field = serializers .DecimalField (max_digits = 4 , decimal_places = 2 )
918
+ value = field .to_internal_value (12 ).as_tuple ()
919
+ expected_digit_tuple = (0 , (1 , 2 , 0 , 0 ), - 2 )
920
+ self .assertEqual (value , expected_digit_tuple )
921
+
922
+ def test_string_quantized_value_for_decimal (self ):
923
+ field = serializers .DecimalField (max_digits = 4 , decimal_places = 2 )
924
+ value = field .to_internal_value ('12' ).as_tuple ()
925
+ expected_digit_tuple = (0 , (1 , 2 , 0 , 0 ), - 2 )
926
+ self .assertEqual (value , expected_digit_tuple )
927
+
928
+ def test_part_precision_string_quantized_value_for_decimal (self ):
929
+ field = serializers .DecimalField (max_digits = 4 , decimal_places = 2 )
930
+ value = field .to_internal_value ('12.0' ).as_tuple ()
931
+ expected_digit_tuple = (0 , (1 , 2 , 0 , 0 ), - 2 )
932
+ self .assertEqual (value , expected_digit_tuple )
933
+
934
+
915
935
class TestNoDecimalPlaces (FieldValues ):
916
936
valid_inputs = {
917
937
'0.12345' : Decimal ('0.12345' ),
0 commit comments