@@ -140,7 +140,6 @@ def test_bytesiowrapper_returns_correct_bytes(self):
140140 assert result == data .encode ("utf-8" )
141141
142142 # Test that pyarrow can handle a file opened with get_handle
143- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
144143 def test_get_handle_pyarrow_compat (self ):
145144 pa_csv = pytest .importorskip ("pyarrow.csv" )
146145
@@ -155,6 +154,8 @@ def test_get_handle_pyarrow_compat(self):
155154 s = StringIO (data )
156155 with icom .get_handle (s , "rb" , is_text = False ) as handles :
157156 df = pa_csv .read_csv (handles .handle ).to_pandas ()
157+ # TODO will have to update this when pyarrow' to_pandas() is fixed
158+ expected = expected .astype ("object" )
158159 tm .assert_frame_equal (df , expected )
159160 assert not s .closed
160161
@@ -338,7 +339,6 @@ def test_read_fspath_all(self, reader, module, path, datapath):
338339 ("to_stata" , {"time_stamp" : pd .to_datetime ("2019-01-01 00:00" )}, "os" ),
339340 ],
340341 )
341- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" , strict = False )
342342 def test_write_fspath_all (self , writer_name , writer_kwargs , module ):
343343 if writer_name in ["to_latex" ]: # uses Styler implementation
344344 pytest .importorskip ("jinja2" )
@@ -365,7 +365,7 @@ def test_write_fspath_all(self, writer_name, writer_kwargs, module):
365365 expected = f_path .read ()
366366 assert result == expected
367367
368- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
368+ @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string) hdf support " )
369369 def test_write_fspath_hdf5 (self ):
370370 # Same test as write_fspath_all, except HDF5 files aren't
371371 # necessarily byte-for-byte identical for a given dataframe, so we'll
@@ -438,14 +438,13 @@ def test_unknown_engine(self):
438438 with tm .ensure_clean () as path :
439439 df = pd .DataFrame (
440440 1.1 * np .arange (120 ).reshape ((30 , 4 )),
441- columns = pd .Index (list ("ABCD" ), dtype = object ),
442- index = pd .Index ([f"i-{ i } " for i in range (30 )], dtype = object ),
441+ columns = pd .Index (list ("ABCD" )),
442+ index = pd .Index ([f"i-{ i } " for i in range (30 )]),
443443 )
444444 df .to_csv (path )
445445 with pytest .raises (ValueError , match = "Unknown engine" ):
446446 pd .read_csv (path , engine = "pyt" )
447447
448- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
449448 def test_binary_mode (self ):
450449 """
451450 'encoding' shouldn't be passed to 'open' in binary mode.
@@ -455,8 +454,8 @@ def test_binary_mode(self):
455454 with tm .ensure_clean () as path :
456455 df = pd .DataFrame (
457456 1.1 * np .arange (120 ).reshape ((30 , 4 )),
458- columns = pd .Index (list ("ABCD" ), dtype = object ),
459- index = pd .Index ([f"i-{ i } " for i in range (30 )], dtype = object ),
457+ columns = pd .Index (list ("ABCD" )),
458+ index = pd .Index ([f"i-{ i } " for i in range (30 )]),
460459 )
461460 df .to_csv (path , mode = "w+b" )
462461 tm .assert_frame_equal (df , pd .read_csv (path , index_col = 0 ))
@@ -473,8 +472,8 @@ def test_warning_missing_utf_bom(self, encoding, compression_):
473472 """
474473 df = pd .DataFrame (
475474 1.1 * np .arange (120 ).reshape ((30 , 4 )),
476- columns = pd .Index (list ("ABCD" ), dtype = object ),
477- index = pd .Index ([f"i-{ i } " for i in range (30 )], dtype = object ),
475+ columns = pd .Index (list ("ABCD" )),
476+ index = pd .Index ([f"i-{ i } " for i in range (30 )]),
478477 )
479478 with tm .ensure_clean () as path :
480479 with tm .assert_produces_warning (UnicodeWarning , match = "byte order mark" ):
@@ -504,15 +503,14 @@ def test_is_fsspec_url():
504503 assert icom .is_fsspec_url ("RFC-3986+compliant.spec://something" )
505504
506505
507- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
508506@pytest .mark .parametrize ("encoding" , [None , "utf-8" ])
509507@pytest .mark .parametrize ("format" , ["csv" , "json" ])
510508def test_codecs_encoding (encoding , format ):
511509 # GH39247
512510 expected = pd .DataFrame (
513511 1.1 * np .arange (120 ).reshape ((30 , 4 )),
514- columns = pd .Index (list ("ABCD" ), dtype = object ),
515- index = pd .Index ([f"i-{ i } " for i in range (30 )], dtype = object ),
512+ columns = pd .Index (list ("ABCD" )),
513+ index = pd .Index ([f"i-{ i } " for i in range (30 )]),
516514 )
517515 with tm .ensure_clean () as path :
518516 with codecs .open (path , mode = "w" , encoding = encoding ) as handle :
@@ -525,13 +523,12 @@ def test_codecs_encoding(encoding, format):
525523 tm .assert_frame_equal (expected , df )
526524
527525
528- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
529526def test_codecs_get_writer_reader ():
530527 # GH39247
531528 expected = pd .DataFrame (
532529 1.1 * np .arange (120 ).reshape ((30 , 4 )),
533- columns = pd .Index (list ("ABCD" ), dtype = object ),
534- index = pd .Index ([f"i-{ i } " for i in range (30 )], dtype = object ),
530+ columns = pd .Index (list ("ABCD" )),
531+ index = pd .Index ([f"i-{ i } " for i in range (30 )]),
535532 )
536533 with tm .ensure_clean () as path :
537534 with open (path , "wb" ) as handle :
@@ -556,8 +553,8 @@ def test_explicit_encoding(io_class, mode, msg):
556553 # wrong mode is requested
557554 expected = pd .DataFrame (
558555 1.1 * np .arange (120 ).reshape ((30 , 4 )),
559- columns = pd .Index (list ("ABCD" ), dtype = object ),
560- index = pd .Index ([f"i-{ i } " for i in range (30 )], dtype = object ),
556+ columns = pd .Index (list ("ABCD" )),
557+ index = pd .Index ([f"i-{ i } " for i in range (30 )]),
561558 )
562559 with io_class () as buffer :
563560 with pytest .raises (TypeError , match = msg ):
0 commit comments