@@ -504,15 +504,22 @@ def test_empty_dataframe(self, pa):
504
504
df = pd .DataFrame ()
505
505
check_round_trip (df , pa )
506
506
507
- @td .skip_if_no ("pyarrow" , min_version = "0.14.1.dev" )
508
- def test_nullable_integer (self , pa ):
509
- df = pd .DataFrame ({"a" : pd .Series ([1 , 2 , 3 ], dtype = "Int64" )})
510
- # currently de-serialized as plain int
511
- expected = df .assign (a = df .a .astype ("int64" ))
507
+ @td .skip_if_no ("pyarrow" , min_version = "0.15.0" )
508
+ def test_additional_extension_arrays (self , pa ):
509
+ # test additional ExtensionArrays that are supported through the
510
+ # __arrow_array__ protocol
511
+ df = pd .DataFrame (
512
+ {
513
+ "a" : pd .Series ([1 , 2 , 3 ], dtype = "Int64" ),
514
+ "b" : pd .Series (["a" , None , "c" ], dtype = "string" ),
515
+ }
516
+ )
517
+ # currently de-serialized as plain int / object
518
+ expected = df .assign (a = df .a .astype ("int64" ), b = df .b .astype ("object" ))
512
519
check_round_trip (df , pa , expected = expected )
513
520
514
521
df = pd .DataFrame ({"a" : pd .Series ([1 , 2 , 3 , None ], dtype = "Int64" )})
515
- # if missing values currently de-serialized as float
522
+ # if missing values in integer, currently de-serialized as float
516
523
expected = df .assign (a = df .a .astype ("float64" ))
517
524
check_round_trip (df , pa , expected = expected )
518
525
0 commit comments