code: def check_number_of_ops(
      self, loops, memories, variables, lookup, mutate
  ):
      # TODO(asi1024): Uncomment after replace fusion implementaiton.
  
      # assert isinstance(loops, int)
      # assert isinstance(memories, int)
      # assert isinstance(variables, int)
      # assert isinstance(lookup, list)
      # assert isinstance(mutate, list)
      # assert len(lookup) == len(mutate) == loops
  
      # assert len(self.retvals) == 1
      # history = self.retvals[0]
      # assert len(history.op_list) == loops
      # memory_space_set = set([p.memory for p in history.kernel_params])
      # assert len(memory_space_set) == memories
      # assert len(history.kernel_params) == variables
      # for op, r, w in zip(history.op_list, lookup, mutate):
      #     assert len(op.in_params) == r
      #     assert len(op.out_params) == w
      pass
  
imports: import unittest
  from unittest import mock
  import cupy
  from cupy import testing
  from cupy_tests.core_tests.fusion_tests import fusion_utils
label_desc: Use image node_id 3 for calling the CreateMock obj's underlying member method code with example usage: obj.check_number_of_ops(loops, memories, variables, lookup, mutate) without return types