@@ -68,15 +68,37 @@ def compare(self, vf, version):
68
68
try :
69
69
expected = self .data [typ ][dt ]
70
70
except (KeyError ):
71
- continue
71
+ if version in ('0.10.1' , '0.11.0' ) and dt == 'reg' :
72
+ break
73
+ else :
74
+ raise
72
75
73
76
# use a specific comparator
74
77
# if available
75
- comparator = getattr ( self , "compare_{typ}_{dt}" .format (
76
- typ = typ , dt = dt ) , self .compare_element )
78
+ comparator = "compare_{typ}_{dt}" .format (typ = typ , dt = dt )
79
+ comparator = getattr ( self , comparator , self .compare_element )
77
80
comparator (result , expected , typ , version )
78
81
return data
79
82
83
+ def compare_series_ts (self , result , expected , typ , version ):
84
+ # GH 7748
85
+ tm .assert_series_equal (result , expected )
86
+ tm .assert_equal (result .index .freq , expected .index .freq )
87
+ tm .assert_equal (result .index .freq .normalize , False )
88
+ tm .assert_numpy_array_equal (result > 0 , expected > 0 )
89
+
90
+ # GH 9291
91
+ freq = result .index .freq
92
+ tm .assert_equal (freq + Day (1 ), Day (2 ))
93
+
94
+ res = freq + pandas .Timedelta (hours = 1 )
95
+ tm .assert_equal (isinstance (res , pandas .Timedelta ), True )
96
+ tm .assert_equal (res , pandas .Timedelta (days = 1 , hours = 1 ))
97
+
98
+ res = freq + pandas .Timedelta (nanoseconds = 1 )
99
+ tm .assert_equal (isinstance (res , pandas .Timedelta ), True )
100
+ tm .assert_equal (res , pandas .Timedelta (days = 1 , nanoseconds = 1 ))
101
+
80
102
def compare_series_dt_tz (self , result , expected , typ , version ):
81
103
# 8260
82
104
# dtype is object < 0.17.0
@@ -95,6 +117,13 @@ def compare_frame_dt_mixed_tzs(self, result, expected, typ, version):
95
117
else :
96
118
tm .assert_frame_equal (result , expected )
97
119
120
+ def compare_index_period (self , result , expected , typ , version ):
121
+ tm .assert_index_equal (result , expected )
122
+ tm .assertIsInstance (result .freq , MonthEnd )
123
+ tm .assert_equal (result .freq , MonthEnd ())
124
+ tm .assert_equal (result .freqstr , 'M' )
125
+ tm .assert_index_equal (result .shift (2 ), expected .shift (2 ))
126
+
98
127
def read_pickles (self , version ):
99
128
if not is_platform_little_endian ():
100
129
raise nose .SkipTest ("known failure on non-little endian" )
@@ -107,16 +136,6 @@ def read_pickles(self, version):
107
136
108
137
if data is None :
109
138
continue
110
-
111
- if 'series' in data :
112
- if 'ts' in data ['series' ]:
113
- self ._validate_timeseries (
114
- data ['series' ]['ts' ], self .data ['series' ]['ts' ])
115
- self ._validate_frequency (data ['series' ]['ts' ])
116
- if 'index' in data :
117
- if 'period' in data ['index' ]:
118
- self ._validate_periodindex (data ['index' ]['period' ],
119
- self .data ['index' ]['period' ])
120
139
n += 1
121
140
assert n > 0 , 'Pickle files are not tested'
122
141
@@ -181,34 +200,6 @@ def python_unpickler(path):
181
200
result = python_unpickler (path )
182
201
self .compare_element (result , expected , typ )
183
202
184
- def _validate_timeseries (self , pickled , current ):
185
- # GH 7748
186
- tm .assert_series_equal (pickled , current )
187
- tm .assert_equal (pickled .index .freq , current .index .freq )
188
- tm .assert_equal (pickled .index .freq .normalize , False )
189
- tm .assert_numpy_array_equal (pickled > 0 , current > 0 )
190
-
191
- def _validate_frequency (self , pickled ):
192
- # GH 9291
193
- freq = pickled .index .freq
194
- result = freq + Day (1 )
195
- tm .assert_equal (result , Day (2 ))
196
-
197
- result = freq + pandas .Timedelta (hours = 1 )
198
- tm .assert_equal (isinstance (result , pandas .Timedelta ), True )
199
- tm .assert_equal (result , pandas .Timedelta (days = 1 , hours = 1 ))
200
-
201
- result = freq + pandas .Timedelta (nanoseconds = 1 )
202
- tm .assert_equal (isinstance (result , pandas .Timedelta ), True )
203
- tm .assert_equal (result , pandas .Timedelta (days = 1 , nanoseconds = 1 ))
204
-
205
- def _validate_periodindex (self , pickled , current ):
206
- tm .assert_index_equal (pickled , current )
207
- tm .assertIsInstance (pickled .freq , MonthEnd )
208
- tm .assert_equal (pickled .freq , MonthEnd ())
209
- tm .assert_equal (pickled .freqstr , 'M' )
210
- tm .assert_index_equal (pickled .shift (2 ), current .shift (2 ))
211
-
212
203
213
204
if __name__ == '__main__' :
214
205
nose .runmodule (argv = [__file__ , '-vvs' , '-x' , '--pdb' , '--pdb-failure' ],
0 commit comments