コード例 #1
0
    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])
コード例 #2
0
    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])
コード例 #3
0
    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])
コード例 #4
0
    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')
コード例 #5
0
    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')
コード例 #6
0
    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])