code: def test_iloc_getitem(setup):
      df1 = pd.DataFrame(
          [[1, 3, 3], [4, 2, 6], [7, 8, 9]],
          index=["a1", "a2", "a3"],
          columns=["x", "y", "z"],
      )
      df2 = md.DataFrame(df1, chunk_size=2)
  
      # plain index
      expected = df1.iloc[1]
      df3 = df2.iloc[1]
      result = df3.execute(
          extra_config={"check_series_name": False}
      ).fetch()
      pd.testing.assert_series_equal(expected, result)
  
      # plain index on axis 1
      expected = df1.iloc[:2, 1]
      df4 = df2.iloc[:2, 1]
      pd.testing.assert_series_equal(expected, df4.execute().fetch())
  
      # slice index
      expected = df1.iloc[:, 2:4]
      df5 = df2.iloc[:, 2:4]
      pd.testing.assert_frame_equal(expected, df5.execute().fetch())
  
      # plain fancy index
      expected = df1.iloc[[0], [0, 1, 2]]
      df6 = df2.iloc[[0], [0, 1, 2]]
      pd.testing.assert_frame_equal(expected, df6.execute().fetch())
  
      # plain fancy index with shuffled order
      expected = df1.iloc[[0], [1, 2, 0]]
      df7 = df2.iloc[[0], [1, 2, 0]]
      pd.testing.assert_frame_equal(expected, df7.execute().fetch())
  
      # fancy index
      expected = df1.iloc[[1, 2], [0, 1, 2]]
      df8 = df2.iloc[[1, 2], [0, 1, 2]]
      pd.testing.assert_frame_equal(expected, df8.execute().fetch())
  
      # fancy index with shuffled order
      expected = df1.iloc[[2, 1], [1, 2, 0]]
      df9 = df2.iloc[[2, 1], [1, 2, 0]]
      pd.testing.assert_frame_equal(expected, df9.execute().fetch())
  
      # one fancy index
      expected = df1.iloc[[2, 1]]
      df10 = df2.iloc[[2, 1]]
      pd.testing.assert_frame_equal(expected, df10.execute().fetch())
  
      # plain index
      expected = df1.iloc[1, 2]
      df11 = df2.iloc[1, 2]
      assert expected == df11.execute().fetch()
  
      # bool index array
      expected = df1.iloc[[True, False, True], [2, 1]]
      df12 = df2.iloc[[True, False, True], [2, 1]]
      pd.testing.assert_frame_equal(expected, df12.execute().fetch())
  
      # bool index array on axis 1
      expected = df1.iloc[[2, 1], [True, False, True]]
      df14 = df2.iloc[[2, 1], [True, False, True]]
      pd.testing.assert_frame_equal(expected, df14.execute().fetch())
  
      # bool index
      expected = df1.iloc[[True, False, True], [2, 1]]
      df13 = df2.iloc[
          md.Series([True, False, True], chunk_size=1), [2, 1]
      ]
      pd.testing.assert_frame_equal(expected, df13.execute().fetch())
  
      # test Series
      data = pd.Series(np.arange(10))
      series = md.Series(data, chunk_size=3).iloc[:3]
      pd.testing.assert_series_equal(
          series.execute().fetch(), data.iloc[:3]
      )
  
      series = md.Series(data, chunk_size=3).iloc[4]
      assert series.execute().fetch() == data.iloc[4]
  
      series = md.Series(data, chunk_size=3).iloc[[2, 3, 4, 9]]
      pd.testing.assert_series_equal(
          series.execute().fetch(), data.iloc[[2, 3, 4, 9]]
      )
  
      series = md.Series(data, chunk_size=3).iloc[[4, 3, 9, 2]]
      pd.testing.assert_series_equal(
          series.execute().fetch(), data.iloc[[4, 3, 9, 2]]
      )
  
      series = md.Series(data).iloc[5:]
      pd.testing.assert_series_equal(
          series.execute().fetch(), data.iloc[5:]
      )
  
      # bool index array
      selection = np.random.RandomState(0).randint(
          2, size=10, dtype=bool
      )
      series = md.Series(data).iloc[selection]
      pd.testing.assert_series_equal(
          series.execute().fetch(), data.iloc[selection]
      )
  
      # bool index
      series = md.Series(data).iloc[md.Series(selection, chunk_size=4)]
      pd.testing.assert_series_equal(
          series.execute().fetch(), data.iloc[selection]
      )
  
      # test index
      data = pd.Index(np.arange(10))
      index = md.Index(data, chunk_size=3)[:3]
      pd.testing.assert_index_equal(index.execute().fetch(), data[:3])
  
      index = md.Index(data, chunk_size=3)[4]
      assert index.execute().fetch() == data[4]
  
      index = md.Index(data, chunk_size=3)[[2, 3, 4, 9]]
      pd.testing.assert_index_equal(
          index.execute().fetch(), data[[2, 3, 4, 9]]
      )
  
      index = md.Index(data, chunk_size=3)[[4, 3, 9, 2]]
      pd.testing.assert_index_equal(
          index.execute().fetch(), data[[4, 3, 9, 2]]
      )
  
      index = md.Index(data)[5:]
      pd.testing.assert_index_equal(index.execute().fetch(), data[5:])
  
      # bool index array
      selection = np.random.RandomState(0).randint(
          2, size=10, dtype=bool
      )
      index = md.Index(data)[selection]
      pd.testing.assert_index_equal(
          index.execute().fetch(), data[selection]
      )
  
      index = md.Index(data)[mt.tensor(selection, chunk_size=4)]
      pd.testing.assert_index_equal(
          index.execute().fetch(), data[selection]
      )
  
imports: import os
  import tempfile
  import mars
  import numpy
  import pandas
  import pytest
  from ....None import dataframe
  from ....None import tensor
  from ....utils import pd_release_version
  from ...datasource.read_csv import DataFrameReadCSV
  from ...datasource.read_sql import DataFrameReadSQL
  from ...datasource.read_parquet import DataFrameReadParquet
label_desc: Use image node_id 2 for calling a global function with example usage: test_iloc_getitem(setup) without return types