code: def test_arrow_dtype():
      s = pa.array(["a", "b"])
      assert list(ArrowStringDtype().__from_arrow__(s)) == list(
          ArrowStringArray(s)
      )
  
      assert (
          ArrowStringDtype()
          == ArrowStringDtype.construct_from_string("Arrow[string]")
      )
  
      assert ArrowListDtype(
          ArrowListDtype("string")
      ) == ArrowListDtype.construct_from_string("Arrow[List[string]]")
  
      assert repr(ArrowListDtype(np.int8)) == "Arrow[List[int8]]"
  
      with pytest.raises(TypeError):
          ArrowListDtype.construct_from_string("Arrow[string]")
  
      assert ArrowListDtype.is_dtype("Arrow[List[uint8]]") is True
      assert ArrowListDtype.is_dtype("List[int8]") is False
      assert ArrowListDtype.is_dtype(ArrowStringDtype()) is False
  
      assert ArrowListDtype(np.int8) != ArrowStringDtype()
      assert ArrowListDtype(np.int8).kind == np.dtype(object).kind
  
      assert ArrowListDtype(np.int8).arrow_type == pa.list_(pa.int8())
  
file_path: mars/mars/dataframe/tests/test_arrays.py
imports: import numpy
  import pandas
  import pytest
  from ...config import option_context
  from ...core import enter_mode
  from ..None import ArrowStringDtype, ArrowStringArray, ArrowListDtype, ArrowListArray
  from ..arrays import _use_bool_any_all
  from ..utils import arrow_table_to_pandas_dataframe
label_desc: Use image node_id 1 for calling a global function with example usage: test_arrow_dtype() without return types