@@ -912,6 +912,26 @@ def test_localize_forces_coerce_to_string(self):
912912 self .assertTrue (isinstance (field .to_representation (Decimal ('1.1' )), six .string_types ))
913913
914914
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+
915935class TestNoDecimalPlaces (FieldValues ):
916936 valid_inputs = {
917937 '0.12345' : Decimal ('0.12345' ),
0 commit comments