code: def check(self, xp, func, expected_name, is_elementwise):
      a = xp.arange(0, 12, dtype="d").reshape(3, 4)
      b = xp.arange(5, 17, dtype="d").reshape(3, 4)
      c = xp.arange(13, 25, dtype="d").reshape(3, 4)
  
      # Test kernel name (with mock)
      if xp is cupy:
          target = cupy._core._fusion_kernel.FusedKernel
          target_full_name = "{}.{}".format(
              target.__module__, target.__name__
          )
  
          with mock.patch(target_full_name) as kernel:  # NOQA
              func(a, b, c)
              # TODO(asi1024): Uncomment after replace fusion implementaiton.
              # kernel.assert_called_once()
              # self.assertEqual(kernel.call_args.args[0], expected_name)
  
      # Test there's no error in computation (without mock)
      return func(a, b, c)
  
imports: import threading
  import unittest
  from unittest import mock
  import pytest
  import cupy
  from cupy import testing
  from cupy_tests.core_tests.fusion_tests import fusion_utils
label_desc: Use image node_id 1 for calling the TestFusionKernelName obj's underlying member method code with example usage: obj.check(xp, func, expected_name, is_elementwise) and returns: func