From 5c85a80055f63dfaab6a01311cb9be4b80bed980 Mon Sep 17 00:00:00 2001 From: jreback Date: Sun, 10 Feb 2013 16:56:01 -0500 Subject: [PATCH] TST: added addtl datetimes test in construction (ref GH #2809/2810) --- pandas/tests/test_frame.py | 20 ++++++++++++++++++++ pandas/tseries/tests/test_timezones.py | 9 +++++++++ 2 files changed, 29 insertions(+) diff --git a/pandas/tests/test_frame.py b/pandas/tests/test_frame.py index 90295dc156b4e..36a09b2a501fc 100644 --- a/pandas/tests/test_frame.py +++ b/pandas/tests/test_frame.py @@ -7998,6 +7998,26 @@ def test_constructor_with_datetimes(self): expected = Series({'int64': 1, 'float64' : 1, 'datetime64[ns]': 1, 'object' : 1}) assert_series_equal(result, expected) + # GH 2809 + from pandas import date_range + ind = date_range(start="2000-01-01", freq="D", periods=10) + datetimes = [ts.to_pydatetime() for ts in ind] + datetime_s = Series(datetimes) + self.assert_(datetime_s.dtype == 'M8[ns]') + df = DataFrame({'datetime_s':datetime_s}) + result = df.get_dtype_counts() + expected = Series({ 'datetime64[ns]' : 1 }) + assert_series_equal(result, expected) + + # GH 2810 + ind = date_range(start="2000-01-01", freq="D", periods=10) + datetimes = [ts.to_pydatetime() for ts in ind] + dates = [ts.date() for ts in ind] + df = DataFrame({'datetimes': datetimes, 'dates':dates}) + result = df.get_dtype_counts() + expected = Series({ 'datetime64[ns]' : 1, 'object' : 1 }) + assert_series_equal(result, expected) + def test_constructor_frame_copy(self): cop = DataFrame(self.frame, copy=True) cop['A'] = 5 diff --git a/pandas/tseries/tests/test_timezones.py b/pandas/tseries/tests/test_timezones.py index adf0d630dc8b0..4b637e0ffe9a3 100644 --- a/pandas/tseries/tests/test_timezones.py +++ b/pandas/tseries/tests/test_timezones.py @@ -491,11 +491,20 @@ def test_to_datetime_tzlocal(self): self.assert_(result.tz is pytz.utc) def test_frame_no_datetime64_dtype(self): + dr = date_range('2011/1/1', '2012/1/1', freq='W-FRI') dr_tz = dr.tz_localize('US/Eastern') e = DataFrame({'A': 'foo', 'B': dr_tz}, index=dr) self.assert_(e['B'].dtype == 'M8[ns]') + # GH 2810 (with timezones) + datetimes_naive = [ ts.to_pydatetime() for ts in dr ] + datetimes_with_tz = [ ts.to_pydatetime() for ts in dr_tz ] + df = DataFrame({'dr' : dr, 'dr_tz' : dr_tz, 'datetimes_naive': datetimes_naive, 'datetimes_with_tz' : datetimes_with_tz }) + result = df.get_dtype_counts() + expected = Series({ 'datetime64[ns]' : 3, 'object' : 1 }) + assert_series_equal(result, expected) + def test_hongkong_tz_convert(self): # #1673 dr = date_range(