code: def test_dont_fuse_fancy_indexing_in_getter_nofancy(
      getitem, getter_nofancy
  ):
      dsk = {
          "a": (
              getitem,
              (
                  getter_nofancy,
                  "x",
                  (slice(10, 20, None), slice(100, 200, None)),
              ),
              ([1, 3], slice(50, 60, None)),
          )
      }
      _assert_getter_dsk_eq(optimize_slices(dsk), dsk)
  
      dsk = {"a": (getitem, (getter_nofancy, "x", [1, 2, 3]), 0)}
      _assert_getter_dsk_eq(optimize_slices(dsk), dsk)
  
imports: from __future__ import annotations
  import pytest
  import numpy
  import dask
  import dask.array
  from dask.array.chunk import getitem
  from dask.array.core import getter
  from dask.array.core import getter_nofancy
  from dask.array.optimization import _is_getter_task, fuse_slice, optimize, optimize_blockwise, optimize_slices
  from dask.array.utils import assert_eq
  from dask.highlevelgraph import HighLevelGraph
  from dask.optimization import SubgraphCallable, fuse
  from dask.utils import SerializableLock
label_desc: Use image node_id 17 for calling a global function with example usage: test_dont_fuse_fancy_indexing_in_getter_nofancy(getitem, getter_nofancy) without return types