def test_IsoDateTimeType_model(self):
dt = IsoDateTimeType()
value = dt.to_primitive(now)
self.assertEqual(now, dt.to_native(now))
self.assertEqual(now, dt.to_native(value))
date = datetime.now()
value = dt.to_primitive(date)
self.assertEqual(date, dt.to_native(date))
self.assertEqual(now.tzinfo, dt.to_native(value).tzinfo)
# ParseError
for date in (None, '', 2017, "2007-06-23X06:40:34.00Z"):
with self.assertRaisesRegexp(ConversionError,
u'Could not parse %s. Should be ISO8601.' % date):
dt.to_native(date)
# OverflowError
for date in (datetime.max, datetime.min):
self.assertEqual(date, dt.to_native(date))
with self.assertRaises(ConversionError):
dt.to_native(dt.to_primitive(date))
评论列表
文章目录