forked from dgibson/python-smadata2
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_datetimeutil.py
More file actions
49 lines (37 loc) · 1.38 KB
/
Copy pathtest_datetimeutil.py
File metadata and controls
49 lines (37 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#! /usr/bin/env python
import StringIO
import os.path
import unittest
import time
import datetime
import dateutil.tz
from nose.tools import *
import smadata2.datetimeutil
def test_totimestamp():
tz = dateutil.tz.gettz("Australia/Sydney")
dt = datetime.datetime(2014, 12, 28, 12, 20, 8, 0, tz)
assert_equals(smadata2.datetimeutil.totimestamp(dt), 1419729608)
# Make sure naive datetimes give an error
@raises(TypeError)
def test_naive_totimestamp():
dt = datetime.datetime(1987, 11, 5)
ts = smadata2.datetimeutil.totimestamp(dt)
def test_daytimestamps_utc():
d = datetime.date(1970, 1, 1)
tst = smadata2.datetimeutil.day_timestamps(d, dateutil.tz.tzutc())
assert_equals(tst, (0, 86400))
def test_daytimestamps_local():
d = datetime.date(2014, 6, 6)
tz = dateutil.tz.gettz("Australia/Sydney")
tst = smadata2.datetimeutil.day_timestamps(d, tz)
assert_equals(tst, (1401976800, 1401976800 + 24*60*60))
def test_daytimestamps_dstend():
d = datetime.date(2014, 4, 6)
tz = dateutil.tz.gettz("Australia/Sydney")
tst = smadata2.datetimeutil.day_timestamps(d, tz)
assert_equals(tst, (1396702800, 1396702800 + 25*60*60))
def test_daytimestamps_dstend():
d = datetime.date(2014, 10, 5)
tz = dateutil.tz.gettz("Australia/Sydney")
tst = smadata2.datetimeutil.day_timestamps(d, tz)
assert_equals(tst, (1412431200, 1412431200 + 23*60*60))