def test_can_validate_field_with_range(self): field_format = fields.IntegerFieldFormat("x", False, None, "1...10", _ANY_FORMAT) self.assertEqual(field_format.validated("1"), 1) self.assertEqual(field_format.validated("7"), 7) self.assertEqual(field_format.validated("10"), 10) field_format = fields.IntegerFieldFormat("x", False, None, "123", _ANY_FORMAT) self.assertEqual(field_format.validated("123"), 123)
def test_can_set_range_from_length_or_rule(self): field_format = fields.IntegerFieldFormat("x", False, "1...", "3...5", _ANY_FORMAT) self.assertEqual(field_format.validated("3"), 3) self.assertEqual(field_format.validated("5"), 5) self.assertRaises(errors.FieldValueError, field_format.validated, "2") self.assertRaises(errors.FieldValueError, field_format.validated, "6") field_format = fields.IntegerFieldFormat("x", False, "1...5", "-9...-1, 10...", _ANY_FORMAT) self.assertEqual(field_format.validated("-1"), -1) self.assertEqual(field_format.validated("-9"), -9) self.assertEqual(field_format.validated("10"), 10) self.assertRaises(errors.FieldValueError, field_format.validated, "-10") self.assertRaises(errors.FieldValueError, field_format.validated, "0") self.assertRaises(errors.FieldValueError, field_format.validated, "9")
def test_can_validate_fixed_format_with_length_and_rule(self): field_format = fields.IntegerFieldFormat('x', False, '3', '12...789', _FIXED_FORMAT) self.assertEqual(field_format.validated('100'), 100) self.assertEqual(field_format.validated('12'), 12) self.assertEqual(field_format.validated(' 12'), 12) self.assertEqual(field_format.validated('12 '), 12) self.assertEqual(field_format.validated('012'), 12)
def test_can_validate_empty_value_with_range_from_length(self): field_format = fields.IntegerFieldFormat('x', True, '2...3, 5...', '', _ANY_FORMAT) self.assertEqual(field_format.validated('10'), 10) self.assertEqual(field_format.validated('10000'), 10000) self.assertEqual(field_format.validated(''), None) self.assertRaises(errors.FieldValueError, field_format.validated, '1')
def test_fails_on_invalid_example(self): field_format = fields.IntegerFieldFormat("x", False, None, "1:10", _ANY_FORMAT) try: field_format.example = "11" self.fail() except errors.FieldValueError: # Ignore expected error. pass
def test_fails_on_invalid_example(self): field_format = fields.IntegerFieldFormat("x", False, None, "1:10", _ANY_FORMAT) try: # NOTE: We cannot use dev_info.assert_raises_and_fnmatches() here # because the failing statement is an assignment, not a function # call. field_format.example = "11" self.fail() except errors.FieldValueError as anticipated_error: self.assertEqual('value is 11 but must be within range: 1...10', six.text_type(anticipated_error))
def test_can_validate_field_with_range_from_length(self): field_format = fields.IntegerFieldFormat("x", False, "2...2", "", _ANY_FORMAT) self.assertEqual(field_format.validated("-9"), -9) self.assertEqual(field_format.validated("-1"), -1) self.assertEqual(field_format.validated("10"), 10) self.assertEqual(field_format.validated("99"), 99) self.assertRaises(errors.FieldValueError, field_format.validated, "0") self.assertRaises(errors.FieldValueError, field_format.validated, "9") self.assertRaises(errors.FieldValueError, field_format.validated, "-10") self.assertRaises(errors.FieldValueError, field_format.validated, "100") field_format = fields.IntegerFieldFormat("x", False, "3...4, 10...", "", _ANY_FORMAT) self.assertEqual(field_format.validated("-999"), -999) self.assertEqual(field_format.validated("-10"), -10) self.assertEqual(field_format.validated("100"), 100) self.assertEqual(field_format.validated("9999"), 9999) self.assertRaises(errors.FieldValueError, field_format.validated, "-1") self.assertRaises(errors.FieldValueError, field_format.validated, "9") self.assertRaises(errors.FieldValueError, field_format.validated, "10000")
def test_can_accept_valid_example(self): field_format = fields.IntegerFieldFormat("x", False, None, "1...10", _ANY_FORMAT) field_format.example = "3" self.assertEqual(field_format.example, "3")
def test_fails_on_no_number(self): field_format = fields.IntegerFieldFormat("x", False, None, "1...10", _ANY_FORMAT) self.assertRaises(errors.FieldValueError, field_format.validated, "abc")
def test_can_set_range_from_length(self): field_format = fields.IntegerFieldFormat("x", False, "1...3", '', _ANY_FORMAT) self.assertEqual(field_format.valid_range.items, [(-99, 999)])
def test_can_set_range_from_rule(self): field_format = fields.IntegerFieldFormat("x", False, None, "1...5", _ANY_FORMAT) self.assertEqual(field_format.valid_range.items, [(1, 5)])
def test_can_set_default_range_without_rule(self): field_format = fields.IntegerFieldFormat("x", False, None, '', _ANY_FORMAT) self.assertEqual(field_format.valid_range.items, [(-2147483648, 2147483647)])