def test_can_output_sql_datetime(self): field_format = fields.DateTimeFieldFormat("x", True, None, "YYYY:MM:DD hh:mm:ss", _ANY_FORMAT) self.assertEqual(field_format.as_sql(sql.MSSQL)[0], "x datetime") field_format = fields.DateTimeFieldFormat("x", True, None, "YY:MM:DD hh:mm:ss", _ANY_FORMAT) self.assertEqual(field_format.as_sql(sql.MSSQL)[0], "x datetime")
def test_fails_on_broken_dates(self): field_format = fields.DateTimeFieldFormat("x", False, None, "YYYY-MM-DD", _ANY_FORMAT) self.assertRaises(errors.FieldValueError, field_format.validated, "2000-02-30") self.assertRaises(errors.FieldValueError, field_format.validated, "0000-01-01") self.assertRaises(errors.FieldValueError, field_format.validated, "this is a bad day") # FIXME: Raise FieldValueError for the following value due lack of leading zeros. field_format.validated("2000-1-1")
def test_can_accept_valid_dates(self): field_format = fields.DateTimeFieldFormat("x", False, None, "YYYY-MM-DD", _ANY_FORMAT) field_format.validated("2000-01-01") field_format.validated("2000-02-29") field_format.validated("1955-02-28") field_format.validated("2345-12-31") field_format.validated("0001-01-01") field_format.validated("9999-12-31")
def test_can_handle_rule_with_percent_sign(self): field_format = fields.DateTimeFieldFormat("x", False, None, "%YYYY-MM-DD", _ANY_FORMAT) field_format.validated("%2000-01-01")
def test_can_accept_empty_date(self): field_format = fields.DateTimeFieldFormat("x", True, None, "YYYY-MM-DD", _ANY_FORMAT) self.assertEqual(field_format.validated(""), None) self.assertNotEqual(field_format.validated("2000-01-01"), None)