27 lines
798 B
Python
27 lines
798 B
Python
import re
|
|
|
|
import numpy as np
|
|
import pytest
|
|
|
|
from pandas.core.arrays.string_arrow import ArrowStringArray
|
|
|
|
pa = pytest.importorskip("pyarrow", minversion="1.0.0")
|
|
|
|
|
|
@pytest.mark.parametrize("chunked", [True, False])
|
|
@pytest.mark.parametrize("array", [np, pa])
|
|
def test_constructor_not_string_type_raises(array, chunked):
|
|
arr = array.array([1, 2, 3])
|
|
if chunked:
|
|
if array is np:
|
|
pytest.skip("chunked not applicable to numpy array")
|
|
arr = pa.chunked_array(arr)
|
|
if array is np:
|
|
msg = "Unsupported type '<class 'numpy.ndarray'>' for ArrowStringArray"
|
|
else:
|
|
msg = re.escape(
|
|
"ArrowStringArray requires a PyArrow (chunked) array of string type"
|
|
)
|
|
with pytest.raises(ValueError, match=msg):
|
|
ArrowStringArray(arr)
|