code: def test_signatures(self):
      dtypes = "fdihq"
      dtypes_access = {d: None for d in dtypes}
  
      def integers(x, y):
          nonlocal dtypes_access
          dtypes_access[numpy.dtype(x.dtype).char] = integers
          return x + y
  
      def floats(x, y):
          nonlocal dtypes_access
          dtypes_access[numpy.dtype(x.dtype).char] = floats
          return x + y
  
      def default(x, y):
          nonlocal dtypes_access
          dtypes_access[numpy.dtype(x.dtype).char] = default
          return x + y
  
      sigs = (("ii->i", integers), ("dd->d", floats))
      gu_func = _GUFunc(default, "(i),(i)->(i)", signatures=sigs)
      for dtype in dtypes:
          x = cupy.array([10], dtype=dtype)
          y = x
          gu_func(x, y, casting="no")
          if dtype in "i":
              assert dtypes_access[dtype] == integers
          elif dtype in "d":
              assert dtypes_access[dtype] == floats
          else:
              assert dtypes_access[dtype] == default
  
imports: import numpy
  import pytest
  import cupy
  from cupy import testing
  from cupy._core._gufuncs import _GUFunc
label_desc: Use image node_id 1 for calling the TestGUFuncSignatures obj's underlying member method code with example usage: obj.test_signatures() and returns: unknown, unknown, unknown