def test_iterable_to_datetime(self): pair = ( (2014, 12, 17, utc), utc.localize(datetime(2014, 12, 17)), ) self.assertEqual(make_datetime(pair[0]), pair[1]) self.assertEqual(make_datetime(list(pair[0])), pair[1]) pair = ( ( 2014, 12, 17, ), datetime( 2014, 12, 17, ), ) self.assertEqual(_make_datetime(pair[0]), pair[1]) self.assertEqual(_make_datetime(list(pair[0])), pair[1]) pair = ( (2014, 12, 17, 5, 13, 23, 123456, utc), utc.localize(datetime(2014, 12, 17, 5, 13, 23, 123456)), ) self.assertEqual(make_datetime(pair[0]), pair[1]) self.assertEqual(make_datetime(list(pair[0])), pair[1]) pair = ( (2014, 12, 17, 5, 13, 23, 123456), datetime(2014, 12, 17, 5, 13, 23, 123456), ) self.assertEqual(_make_datetime(pair[0]), pair[1]) self.assertEqual(_make_datetime(list(pair[0])), pair[1]) # Non-UTC timezone central = timezone('US/Central') pair = ( ( 2014, 12, 17, central, ), central.localize(datetime(2014, 12, 17)), ) self.assertEqual(make_datetime(pair[0]), pair[1]) self.assertEqual(make_datetime(list(pair[0])), pair[1]) pair = ( (2014, 12, 17, 5, 13, 23, 123456, central), central.localize(datetime(2014, 12, 17, 5, 13, 23, 123456)), ) self.assertEqual(make_datetime(pair[0]), pair[1]) self.assertEqual(make_datetime(list(pair[0])), pair[1])
def test_iterable_to_datetime(self): pair = ( (2014, 12, 17, utc), utc.localize(datetime(2014, 12, 17)), ) self.assertEqual(make_datetime(pair[0]), pair[1]) self.assertEqual(make_datetime(list(pair[0])), pair[1]) pair = ( (2014, 12, 17, ), datetime(2014, 12, 17, ), ) self.assertEqual(_make_datetime(pair[0]), pair[1]) self.assertEqual(_make_datetime(list(pair[0])), pair[1]) pair = ( (2014, 12, 17, 5, 13, 23, 123456, utc), utc.localize(datetime(2014, 12, 17, 5, 13, 23, 123456)), ) self.assertEqual(make_datetime(pair[0]), pair[1]) self.assertEqual(make_datetime(list(pair[0])), pair[1]) pair = ( (2014, 12, 17, 5, 13, 23, 123456), datetime(2014, 12, 17, 5, 13, 23, 123456), ) self.assertEqual(_make_datetime(pair[0]), pair[1]) self.assertEqual(_make_datetime(list(pair[0])), pair[1]) # Non-UTC timezone central = timezone('US/Central') pair = ( (2014, 12, 17, central, ), central.localize(datetime(2014, 12, 17)), ) self.assertEqual(make_datetime(pair[0]), pair[1]) self.assertEqual(make_datetime(list(pair[0])), pair[1]) pair = ( (2014, 12, 17, 5, 13, 23, 123456, central), central.localize(datetime(2014, 12, 17, 5, 13, 23, 123456)), ) self.assertEqual(make_datetime(pair[0]), pair[1]) self.assertEqual(make_datetime(list(pair[0])), pair[1])
def test_iso_to_datetime(self): # with microseconds # naive pair = ( '2014-06-19T16:40:22.293913', datetime(2014, 6, 19, 16, 40, 22, 293913) ) self.assertEqual(_make_datetime(pair[0]), pair[1]) # timezone pair = ( '2014-06-19T21:55:27.934309+00:00', utc.localize(datetime(2014, 6, 19, 21, 55, 27, 934309)), ) self.assertEqual(make_datetime(pair[0]), pair[1]) # with integer seconds # naive pair = ( '2014-06-19T16:40:22', datetime(2014, 6, 19, 16, 40, 22, 0) ) self.assertEqual(_make_datetime(pair[0]), pair[1]) # timezone pair = ( '2014-06-19T21:55:27+00:00', utc.localize(datetime(2014, 6, 19, 21, 55, 27, 0)), ) self.assertEqual(make_datetime(pair[0]), pair[1]) # timezone other than UTC central = timezone('US/Central') pair = ( '2014-06-19T17:03:17.361077-05:00', central.localize(datetime(2014, 6, 19, 17, 3, 17, 361077)), # Due to pytz weirdness, the following has # incorrect tz offset info: # datetime(2014, 6, 19, 17, 3, 17, 361077, tzinfo=central)) ) self.assertEqual(make_datetime(pair[0]), pair[1])
def test_bad_iso_to_datetime(self): with self.assertRaises(ValueError): _make_datetime('') with self.assertRaises(ValueError): _make_datetime('bad') with self.assertRaises(TypeError): _make_datetime(None) with self.assertRaises(ValueError): # used '#' instead of 'T' _make_datetime('2014-06-19#17:03:17.361077-05:00') with self.assertRaises(ValueError): # used '#' instead of '-' _make_datetime('2014-06-19T17:03#17.361077-05:00') with self.assertRaises(ValueError): # naive timestamps raise ValueError make_datetime('2014-06-19T16:40:22.293913')
def test_iso_to_datetime(self): # with microseconds # naive pair = ('2014-06-19T16:40:22.293913', datetime(2014, 6, 19, 16, 40, 22, 293913)) self.assertEqual(_make_datetime(pair[0]), pair[1]) # timezone pair = ( '2014-06-19T21:55:27.934309+00:00', utc.localize(datetime(2014, 6, 19, 21, 55, 27, 934309)), ) self.assertEqual(make_datetime(pair[0]), pair[1]) # with integer seconds # naive pair = ('2014-06-19T16:40:22', datetime(2014, 6, 19, 16, 40, 22, 0)) self.assertEqual(_make_datetime(pair[0]), pair[1]) # timezone pair = ( '2014-06-19T21:55:27+00:00', utc.localize(datetime(2014, 6, 19, 21, 55, 27, 0)), ) self.assertEqual(make_datetime(pair[0]), pair[1]) # timezone other than UTC central = timezone('US/Central') pair = ( '2014-06-19T17:03:17.361077-05:00', central.localize(datetime(2014, 6, 19, 17, 3, 17, 361077)), # Due to pytz weirdness, the following has # incorrect tz offset info: # datetime(2014, 6, 19, 17, 3, 17, 361077, tzinfo=central)) ) self.assertEqual(make_datetime(pair[0]), pair[1])