@@ -43,7 +43,7 @@ class TestPDApi(Base):
43
43
]
44
44
45
45
# these are already deprecated; awaiting removal
46
- deprecated_modules : List [str ] = []
46
+ deprecated_modules : List [str ] = ["np" , "datetime" ]
47
47
48
48
# misc
49
49
misc = ["IndexSlice" , "NaT" , "NA" ]
@@ -90,15 +90,17 @@ class TestPDApi(Base):
90
90
"UInt64Dtype" ,
91
91
"NamedAgg" ,
92
92
]
93
- if not compat .PY37 :
94
- classes .extend (["Panel" , "SparseSeries" , "SparseDataFrame" , "SparseArray" ])
95
- deprecated_modules .extend (["np" , "datetime" ])
96
93
97
94
# these are already deprecated; awaiting removal
98
95
deprecated_classes : List [str ] = []
99
96
100
97
# these should be deprecated in the future
101
- deprecated_classes_in_future : List [str ] = []
98
+ deprecated_classes_in_future : List [str ] = ["SparseArray" ]
99
+
100
+ if not compat .PY37 :
101
+ classes .extend (["Panel" , "SparseSeries" , "SparseDataFrame" ])
102
+ # deprecated_modules.extend(["np", "datetime"])
103
+ # deprecated_classes_in_future.extend(["SparseArray"])
102
104
103
105
# external modules exposed in pandas namespace
104
106
modules : List [str ] = []
@@ -201,44 +203,46 @@ class TestPDApi(Base):
201
203
202
204
def test_api (self ):
203
205
204
- self .check (
205
- pd ,
206
+ checkthese = (
206
207
self .lib
207
208
+ self .misc
208
209
+ self .modules
209
- + self .deprecated_modules
210
210
+ self .classes
211
- + self .deprecated_classes
212
- + self .deprecated_classes_in_future
213
211
+ self .funcs
214
212
+ self .funcs_option
215
213
+ self .funcs_read
216
214
+ self .funcs_json
217
215
+ self .funcs_to
218
- + self .deprecated_funcs_in_future
219
- + self .deprecated_funcs
220
- + self .private_modules ,
221
- self .ignored ,
216
+ + self .private_modules
222
217
)
218
+ if not compat .PY37 :
219
+ checkthese .extend (
220
+ self .deprecated_modules
221
+ + self .deprecated_classes
222
+ + self .deprecated_classes_in_future
223
+ + self .deprecated_funcs_in_future
224
+ + self .deprecated_funcs
225
+ )
226
+ self .check (pd , checkthese , self .ignored )
223
227
224
228
def test_depr (self ):
225
- deprecated = (
229
+ deprecated_list = (
226
230
self .deprecated_modules
227
231
+ self .deprecated_classes
228
232
+ self .deprecated_classes_in_future
229
233
+ self .deprecated_funcs
230
234
+ self .deprecated_funcs_in_future
231
235
)
232
- for depr in deprecated :
236
+ for depr in deprecated_list :
233
237
with tm .assert_produces_warning (FutureWarning ):
234
- if compat . PY37 :
235
- getattr ( pd , depr )
236
- elif depr == "datetime" :
237
- deprecated = getattr ( pd , "__Datetime" )
238
- deprecated (). __getattr__ ( dir ( pd . datetime )[ - 1 ])
239
- else :
240
- deprecated = getattr ( pd , depr )
241
- deprecated .__getattr__ (dir (deprecated )[- 1 ])
238
+ deprecated = getattr ( pd , depr )
239
+ if not compat . PY37 :
240
+ if depr == "datetime" :
241
+ deprecated . __getattr__ ( dir ( pd . datetime . datetime )[ - 1 ] )
242
+ elif depr == "SparseArray" :
243
+ deprecated ([])
244
+ else :
245
+ deprecated .__getattr__ (dir (deprecated )[- 1 ])
242
246
243
247
244
248
def test_datetime ():
@@ -249,6 +253,16 @@ def test_datetime():
249
253
warnings .simplefilter ("ignore" , FutureWarning )
250
254
assert datetime (2015 , 1 , 2 , 0 , 0 ) == pd .datetime (2015 , 1 , 2 , 0 , 0 )
251
255
256
+ assert isinstance (pd .datetime (2015 , 1 , 2 , 0 , 0 ), pd .datetime )
257
+
258
+
259
+ def test_sparsearray ():
260
+ import warnings
261
+
262
+ with warnings .catch_warnings ():
263
+ warnings .simplefilter ("ignore" , FutureWarning )
264
+ assert isinstance (pd .array ([1 , 2 , 3 ], dtype = "Sparse" ), pd .SparseArray )
265
+
252
266
253
267
def test_np ():
254
268
import numpy as np
0 commit comments