コード例 #1
0
    def test_time_invalid_type_format(self):
        value = 3.00
        self.field['format'] = 'fmt:any'
        _type = types.TimeType(self.field)
        self.assertRaises(exceptions.InvalidTimeType, _type.cast, value)

        value = {}
        _type = types.TimeType(self.field)
        self.assertRaises(exceptions.InvalidTimeType, _type.cast, value)

        value = []
        _type = types.TimeType(self.field)
        self.assertRaises(exceptions.InvalidTimeType, _type.cast, value)
コード例 #2
0
    def test_constraints_maximum_invalid_value(self):
        value = '12:30:20'
        field = self._make_default_field(type='time',
                                         constraints={'maximum': '11:30:20'})
        _type = types.TimeType(field)

        with pytest.raises(exceptions.ConstraintError) as e:
            _type.cast(value)
        self.assertEqual(e.value.msg,
                         "The field 'Name' must not be more than 11:30:20")
コード例 #3
0
    def test_constraints_maximum_valid_value_equals(self):
        value = '12:30:20'
        field = self._make_default_field(type='time',
                                         constraints={'maximum': '12:30:20'})
        _type = types.TimeType(field)

        struct_time = time.strptime(value, '%H:%M:%S')
        expected_time = datetime.time(struct_time.tm_hour, struct_time.tm_min,
                                      struct_time.tm_sec)
        self.assertEqual(_type.cast(value), expected_time)
コード例 #4
0
 def test_time_type_with_already_cast_value(self):
     for value in [time(12, 0, 0)]:
         for format in ['default', 'any', 'fmt:any']:
             self.field['format'] = format
             _type = types.TimeType(self.field)
             self.assertEqual(_type.cast(value), value)
コード例 #5
0
 def test_time_type_format(self):
     value = '3:00'
     self.field['format'] = 'fmt:%H:%M'
     _type = types.TimeType(self.field)
     self.assertEquals(_type.cast(value), time(3))
コード例 #6
0
 def test_time_type_parsing(self):
     value = '3:00 am'
     self.field['format'] = 'any'
     _type = types.TimeType(self.field)
     self.assertEquals(_type.cast(value), time(3))
コード例 #7
0
 def test_time_type_non_iso_raises_error(self):
     value = '3 am'
     _type = types.TimeType(self.field)
     self.assertRaises(exceptions.InvalidTimeType, _type.cast, value)
コード例 #8
0
 def test_time_type_default(self):
     value = '06:00:00'
     _type = types.TimeType(self.field)
     self.assertEquals(_type.cast(value), time(6))