code: def test_index_with_int_dask_array(x_chunks, idx_chunks):
      # test data is crafted to stress use cases:
      # - pick from different chunks of x out of order
      # - a chunk of x contains no matches
      # - only one chunk of x
      x = cupy.array(
          [
              [10, 20, 30, 40, 50],
              [60, 70, 80, 90, 100],
              [110, 120, 130, 140, 150],
          ]
      )
      idx = cupy.array([3, 0, 1])
      expect = cupy.array([[40, 10, 20], [90, 60, 70], [140, 110, 120]])
  
      x = da.from_array(x, chunks=x_chunks)
      if idx_chunks is not None:
          idx = da.from_array(idx, chunks=idx_chunks)
  
      assert_eq(x[:, idx], expect)
      assert_eq(x.T[idx, :], expect.T)
  
file_path: dask/dask/array/tests/test_cupy_slicing.py
imports: from __future__ import annotations
  import numpy
  import pytest
  import dask.array
  from dask.array.utils import assert_eq
label_desc: Use image node_id 1 for calling a global function with example usage: test_index_with_int_dask_array(x_chunks, idx_chunks) without return types