@@ -21,3 +21,41 @@ def test_series_arrow_interface():
21
21
ca = pa .chunked_array (s )
22
22
expected = pa .chunked_array ([[1 , 4 , 2 ]])
23
23
assert ca .equals (expected )
24
+ ca = pa .chunked_array (s , type = pa .int32 ())
25
+ expected = pa .chunked_array ([[1 , 4 , 2 ]], type = pa .int32 ())
26
+ assert ca .equals (expected )
27
+
28
+
29
+ def test_series_arrow_interface_arrow_dtypes ():
30
+ s = pd .Series ([1 , 4 , 2 ], dtype = "Int64[pyarrow]" )
31
+
32
+ capsule = s .__arrow_c_stream__ ()
33
+ assert (
34
+ ctypes .pythonapi .PyCapsule_IsValid (
35
+ ctypes .py_object (capsule ), b"arrow_array_stream"
36
+ )
37
+ == 1
38
+ )
39
+
40
+ ca = pa .chunked_array (s )
41
+ expected = pa .chunked_array ([[1 , 4 , 2 ]])
42
+ assert ca .equals (expected )
43
+ ca = pa .chunked_array (s , type = pa .int32 ())
44
+ expected = pa .chunked_array ([[1 , 4 , 2 ]], type = pa .int32 ())
45
+ assert ca .equals (expected )
46
+
47
+
48
+ def test_series_arrow_interface_stringdtype ():
49
+ s = pd .Series (["foo" , "bar" ], dtype = "string[pyarrow]" )
50
+
51
+ capsule = s .__arrow_c_stream__ ()
52
+ assert (
53
+ ctypes .pythonapi .PyCapsule_IsValid (
54
+ ctypes .py_object (capsule ), b"arrow_array_stream"
55
+ )
56
+ == 1
57
+ )
58
+
59
+ ca = pa .chunked_array (s )
60
+ expected = pa .chunked_array ([["foo" , "bar" ]], type = pa .large_string ())
61
+ assert ca .equals (expected )
0 commit comments