コード例 #1
0
    def test_fails_on_outer_range_for_field_rule(self):
        field_format = fields.DecimalFieldFormat("x", False, None, "3.2...4.2", _ANY_FORMAT)
        self.assertRaises(errors.FieldValueError, field_format.validated, '4.3')
        self.assertRaises(errors.FieldValueError, field_format.validated, '3.1')

        field_format = fields.DecimalFieldFormat("x", False, None, "3.2...", _ANY_FORMAT)
        self.assertRaises(errors.FieldValueError, field_format.validated, '3.1')

        field_format = fields.DecimalFieldFormat("x", False, None, "...4.2", _ANY_FORMAT)
        self.assertRaises(errors.FieldValueError, field_format.validated, '4.3')
コード例 #2
0
    def test_can_validate_rule_for_field_format(self):
        field_format = fields.DecimalFieldFormat("x", False, None, "3.2...4.2", _ANY_FORMAT)
        self.assertEqual(decimal.Decimal('3.2'), field_format.validated('3.2'))
        self.assertEqual(decimal.Decimal('3.5'), field_format.validated('3.5'))
        self.assertEqual(decimal.Decimal('4.2'), field_format.validated('4.2'))

        field_format = fields.DecimalFieldFormat("x", False, None, "3.2...", _ANY_FORMAT)
        self.assertEqual(decimal.Decimal('3.2'), field_format.validated('3.2'))
        self.assertEqual(decimal.Decimal('3.5'), field_format.validated('3.5'))
        self.assertEqual(decimal.Decimal('333.5'), field_format.validated('333.5'))

        field_format = fields.DecimalFieldFormat("x", False, None, "...4.2", _ANY_FORMAT)
        self.assertEqual(decimal.Decimal('4.2'), field_format.validated('4.2'))
        self.assertEqual(decimal.Decimal('-333.5'), field_format.validated('-333.5'))
コード例 #3
0
 def test_can_use_default_rule(self):
     field_format = fields.DecimalFieldFormat("x", False, None, "",
                                              _ANY_FORMAT)
     self.assertEqual(field_format.valid_range.upper_limit,
                      decimal.Decimal('9999999999999999999.999999999999'))
     self.assertEqual(field_format.valid_range.lower_limit,
                      decimal.Decimal('-9999999999999999999.999999999999'))
コード例 #4
0
 def test_can_validate_decimals(self):
     field_format = fields.DecimalFieldFormat("x", False, None, "",
                                              _ANY_FORMAT)
     self.assertEqual(decimal.Decimal("17.23"),
                      field_format.validated("17.23"))
     self.assertEqual(decimal.Decimal("17.123456789"),
                      field_format.validated("17.123456789"))
コード例 #5
0
 def test_fails_on_thousand_separator_after_decimal_separator(self):
     field_format = fields.DecimalFieldFormat("x", False, None,
                                              "3000.2...4000.2",
                                              _ANY_FORMAT)
     field_format.thousands_separator = "."
     field_format.decimal_separator = ","
     self.assertRaises(errors.FieldValueError, field_format.validated,
                       "3000,300.234")
コード例 #6
0
def _create_german_decimal_format():
    german_format = data.DataFormat(data.FORMAT_DELIMITED)
    german_format.set_property(data.KEY_DECIMAL_SEPARATOR, ",")
    german_format.set_property(data.KEY_THOUSANDS_SEPARATOR, ".")
    result = fields.DecimalFieldFormat("x", False, None, "", german_format)
    return result
コード例 #7
0
 def test_fails_on_double_decimal_separator(self):
     field_format = fields.DecimalFieldFormat("x", False, None, "3.2...4.2", _ANY_FORMAT)
     self.assertRaises(errors.FieldValueError, field_format.validated, "3..3")
コード例 #8
0
 def test_fails_on_no_numeric_value(self):
     field_format = fields.DecimalFieldFormat("x", False, None, "3.2...4.2", _ANY_FORMAT)
     self.assertRaises(errors.FieldValueError, field_format.validated, "abc")
コード例 #9
0
ファイル: test_fields.py プロジェクト: butterhirsch/cutplace2
 def test_fails_on_broken_decimal(self):
     field_format = fields.DecimalFieldFormat('x', False, None, '',
                                              _ANY_FORMAT)
     self.assertRaises(errors.FieldValueError, field_format.validated,
                       'abc')