code: def test_eye():
      assert_eq(da.eye(9, chunks=3), np.eye(9))
      assert_eq(da.eye(9), np.eye(9))
      assert_eq(da.eye(10, chunks=3), np.eye(10))
      assert_eq(da.eye(9, chunks=3, M=11), np.eye(9, M=11))
      assert_eq(da.eye(11, chunks=3, M=9), np.eye(11, M=9))
      assert_eq(da.eye(7, chunks=3, M=11), np.eye(7, M=11))
      assert_eq(da.eye(11, chunks=3, M=7), np.eye(11, M=7))
      assert_eq(da.eye(9, chunks=3, k=2), np.eye(9, k=2))
      assert_eq(da.eye(9, chunks=3, k=-2), np.eye(9, k=-2))
      assert_eq(da.eye(7, chunks=3, M=11, k=5), np.eye(7, M=11, k=5))
      assert_eq(da.eye(11, chunks=3, M=7, k=-6), np.eye(11, M=7, k=-6))
      assert_eq(da.eye(6, chunks=3, M=9, k=7), np.eye(6, M=9, k=7))
      assert_eq(da.eye(12, chunks=3, M=6, k=-3), np.eye(12, M=6, k=-3))
  
      assert_eq(da.eye(9, chunks=3, dtype=int), np.eye(9, dtype=int))
      assert_eq(da.eye(10, chunks=3, dtype=int), np.eye(10, dtype=int))
      assert_eq(da.eye(10, chunks=-1, dtype=int), np.eye(10, dtype=int))
      assert_eq(da.eye(9, chunks=3, dtype=None), np.eye(9, dtype=None))
  
      with dask.config.set({"array.chunk-size": "50 MiB"}):
          x = da.eye(10000, "auto")
          assert 4 < x.npartitions < 32
  
imports: from __future__ import annotations
  import pytest
  import numpy
  import pytest
  from tlz import concat
  import dask
  import dask.array
  from dask.array.core import normalize_chunks
  from dask.array.numpy_compat import AxisError
  from dask.array.utils import assert_eq, same_keys
label_desc: Use image node_id 15 for calling a global function with example usage: test_eye() without return types