data-science-ipython-notebooks/core/tests/test_date_util.py

52 lines
1.7 KiB
Python
Raw Normal View History

2015-01-24 20:54:57 +08:00
from nose.tools import assert_equal
from datetime import datetime, date, time
class TestDateUtil():
@classmethod
def setup_class(cls):
"""This method is run once for each class before any tests are run"""
cls.dt = datetime(cls.year, cls.month, cls.day,
cls.hour, cls.minute, cls.second)
2015-01-24 20:54:57 +08:00
@classmethod
def teardown_class(cls):
"""This method is run once for each class _after_ all tests are run"""
def setUp(self):
"""This method is run once before _each_ test method is executed"""
def teardown(self):
"""This method is run once after _each_ test method is executed"""
year = 2015
month = 1
day = 20
hour = 7
minute = 28
second = 15
dt = None
2015-01-24 20:54:57 +08:00
def test_datetime(self):
assert_equal(self.dt.day, self.day)
assert_equal(self.dt.minute, self.minute)
assert_equal(self.dt.date(), date(self.year, self.month, self.day))
assert_equal(self.dt.time(), time(self.hour, self.minute, self.second))
2015-01-24 20:56:12 +08:00
def test_strftime(self):
"""Format the datetime string"""
assert_equal(self.dt.strftime('%m/%d/%Y %H:%M'), '01/20/2015 07:28')
2015-01-24 20:57:34 +08:00
def test_strptime(self):
"""Convert/parse string into datetime objects"""
d = datetime(self.year, self.month, self.day)
assert_equal(datetime.strptime('20150120', '%Y%m%d'), d)
def test_datetime_replace(self):
"""When aggregating or grouping time series data, it is sometimes
useful to replace fields of a series of datetimes such as zeroing
out the minute and second fields."""
dt = datetime(self.year, self.month, self.day, self.hour, 0, 0)
assert_equal(self.dt.replace(minute=0, second=0), dt)