Skip to content

Commit bdc0d9f

Browse files
TST: start tests for PeriodConverter
1 parent 0a5e6c9 commit bdc0d9f

File tree

1 file changed

+57
-1
lines changed

1 file changed

+57
-1
lines changed

pandas/tseries/tests/test_converter.py

+57-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import numpy as np
88
from numpy.testing import assert_almost_equal as np_assert_almost_equal
9-
from pandas import Timestamp
9+
from pandas import Timestamp, Period
1010
from pandas.compat import u
1111
import pandas.util.testing as tm
1212
from pandas.tseries.offsets import Second, Milli, Micro
@@ -103,6 +103,62 @@ def _assert_less(ts1, ts2):
103103
_assert_less(ts, ts + Micro(50))
104104

105105

106+
class TestPeriodConverter(tm.TestCase):
107+
108+
def setUp(self):
109+
self.pc = converter.PeriodConverter()
110+
111+
class Axis(object):
112+
pass
113+
114+
self.axis = Axis()
115+
self.axis.freq = 'D'
116+
117+
def test_convert_accepts_unicode(self):
118+
# FIXME
119+
raise nose.SkipTest("PeriodConverter does not yet handle unicode")
120+
r1 = self.pc.convert("2012-1-1", None, self.axis)
121+
r2 = self.pc.convert(u("2012-1-1"), None, self.axis)
122+
self.assert_equal(r1, r2, "PeriodConverter.convert should accept unicode")
123+
124+
def test_conversion(self):
125+
rs = self.pc.convert(['2012-1-1'], None, self.axis)[0]
126+
xp = Period('2012-1-1').ordinal
127+
self.assertEqual(rs, xp)
128+
129+
rs = self.pc.convert('2012-1-1', None, self.axis)
130+
self.assertEqual(rs, xp)
131+
132+
rs = self.pc.convert([date(2012, 1, 1)], None, self.axis)[0]
133+
self.assertEqual(rs, xp)
134+
135+
rs = self.pc.convert(date(2012, 1, 1), None, self.axis)
136+
self.assertEqual(rs, xp)
137+
138+
rs = self.pc.convert([Timestamp('2012-1-1')], None, self.axis)[0]
139+
self.assertEqual(rs, xp)
140+
141+
rs = self.pc.convert(Timestamp('2012-1-1'), None, self.axis)
142+
self.assertEqual(rs, xp)
143+
144+
# FIXME
145+
# rs = self.pc.convert(np.datetime64('2012-01-01'), None, self.axis)
146+
# self.assertEqual(rs, xp)
147+
#
148+
# rs = self.pc.convert(np.datetime64('2012-01-01 00:00:00+00:00'), None, self.axis)
149+
# self.assertEqual(rs, xp)
150+
#
151+
# rs = self.pc.convert(np.array([np.datetime64('2012-01-01 00:00:00+00:00'),
152+
# np.datetime64('2012-01-02 00:00:00+00:00')]), None, self.axis)
153+
# self.assertEqual(rs[0], xp)
154+
155+
def test_integer_passthrough(self):
156+
# GH9012
157+
rs = self.pc.convert([0, 1], None, self.axis)
158+
xp = [0, 1]
159+
self.assertEqual(rs, xp)
160+
161+
106162
if __name__ == '__main__':
107163
import nose
108164
nose.runmodule(argv=[__file__, '-vvs', '-x', '--pdb', '--pdb-failure'],

0 commit comments

Comments
 (0)