Esempio n. 1
0
 def test_input_float(self):
     si = S.NumberDecimal()
     validated = si.validate(12.42)
     assert isinstance(validated, Decimal128)
     quantized = validated.to_decimal().quantize(Decimal("0.01"),
                                                 rounding=ROUND_HALF_DOWN)
     assert quantized == Decimal("12.42")
Esempio n. 2
0
 def test_input_str(self):
     si = S.NumberDecimal(precision=2)
     self.assertRaises(S.Invalid, si.validate, "12.42")
Esempio n. 3
0
 def test_input_decimal128(self):
     si = S.NumberDecimal()
     assert si.validate(Decimal128("12.42")) == Decimal128("12.42")
Esempio n. 4
0
 def test_input_decimal128_precision_explicit(self):
     si = S.NumberDecimal(precision=2)
     assert si.validate(Decimal128("12.42")) == Decimal128("12.42")
Esempio n. 5
0
 def test_input_int(self):
     si = S.NumberDecimal()
     assert si.validate(0) == Decimal128("0")
     assert si.validate(1) == Decimal128("1")
Esempio n. 6
0
 def test_input_int_precision_explicit(self):
     si = S.NumberDecimal(precision=2)
     assert si.validate(0) == Decimal128("0.00")
     assert si.validate(1) == Decimal128("1.00")
Esempio n. 7
0
 def test_specify_rounding(self):
     si = S.NumberDecimal(precision=2, rounding=ROUND_DOWN)
     assert si.validate(0.129999999) == Decimal128("0.12")
     assert si.validate(0.123456789) == Decimal128("0.12")
Esempio n. 8
0
 def test_specify_precision(self):
     si = S.NumberDecimal(precision=2)
     assert si.validate(0.123456789) == Decimal128("0.12")
     assert si.validate(0.125432109) == Decimal128("0.13")
Esempio n. 9
0
 def test_allow_none(self):
     si = S.NumberDecimal()
     assert si.validate(None) is None
Esempio n. 10
0
 def test_dont_allow_none(self):
     si = S.NumberDecimal(allow_none=False)
     self.assertRaises(S.Invalid, si.validate, None)