Source code for japandas.tseries.tests.test_tools

#!/usr/bin/env python
# coding: utf-8

from __future__ import unicode_literals

import unittest

import pandas as pd
import pandas.compat as compat
import pandas.util.testing as tm

import japandas as jpd


[docs]class TestTools(unittest.TestCase):
[docs] def test_to_datetime(self): cases = {'2011年10月30日': ('2011-10-30', '%Y-%m-%d'), '2012年12月': ('2012-12', '%Y-%m'), '12月3日': ('12-03', '%m-%d'), '2013年9月4日10時15分': ('2013-09-04 10:15', '%Y-%m-%d %H:%M'), '10月5日13時25分': ('10-05 13:25', '%m-%d %H:%M'), '2014年3月8日20時45分8秒': ('2014-03-08 20:45:08', '%Y-%m-%d %H:%M:%S'), '3月8日20時45分8秒': ('03-08 20:45:08', '%m-%d %H:%M:%S'), '11年10月30日': ('11-10-30', '%y-%m-%d'), '09年12月': ('09-12', '%y-%m'), '13年9月4日10時15分': ('13-09-04 10:15', '%y-%m-%d %H:%M'), '14年3月8日20時45分8秒': ('14-03-08 20:45:08', '%y-%m-%d %H:%M:%S'), '14年': ('2014-01-01', '%Y-%m-%d'), '2014年': ('2014-01-01', '%Y-%m-%d') } for k, (s, f) in compat.iteritems(cases): result = jpd.to_datetime(k) expected = pd.to_datetime(s, format=f) self.assertEqual(result, expected) result = jpd.to_datetime([k]) expected = pd.to_datetime([s], format=f) tm.assert_index_equal(result, expected) result = jpd.to_datetime([k], box=False) expected = pd.to_datetime([s], format=f, box=False) tm.assert_numpy_array_equal(result, expected)
[docs] def test_date_range(self): result = jpd.date_range(start='2013年11月15日', end='2014年12月18日', freq='D') expected = pd.date_range(start='2013-11-15', end='2014-12-18', freq='D') tm.assert_index_equal(result, expected) result = jpd.date_range(start='2014年1月15日09時25分', end='2014年1月18日10時45分', freq='M') expected = pd.date_range(start='2014-01-15 09:25', end='2014-01-18 10:45', freq='M') tm.assert_index_equal(result, expected)
[docs] def test_period_range(self): result = jpd.period_range(start='2013年11月15日', end='2014年12月18日', freq='D') expected = pd.period_range(start='2013-11-15', end='2014-12-18', freq='D') tm.assert_index_equal(result, expected) result = jpd.period_range(start='2014年1月15日09時25分', end='2014年1月18日10時45分', freq='M') expected = pd.period_range(start='2014-01-15 09:25', end='2014-01-18 10:45', freq='M') tm.assert_index_equal(result, expected)
if __name__ == '__main__': import nose nose.runmodule(argv=[__file__, '-vvs', '-x', '--pdb', '--pdb-failure'], exit=False)