code: def test_find(self, n, idxsize, gc, dc):
      maxval = 10
  
      def findop(idx, X):
          res = []
          for j in list(X.flatten()):
              i = np.where(idx == j)[0]
              if len(i) == 0:
                  res.append(-1)
              else:
                  res.append(i[-1])
  
          print("Idx: {} X: {}".format(idx, X))
          print("Res: {}".format(res))
          return [np.array(res).astype(np.int32)]
  
      X = (np.random.rand(n) * maxval).astype(np.int32)
      idx = (np.random.rand(idxsize) * maxval).astype(np.int32)
  
      op = core.CreateOperator(
          "Find",
          ["idx", "X"],
          ["y"],
      )
  
      self.assertReferenceChecks(
          device_option=gc,
          op=op,
          inputs=[idx, X],
          reference=findop,
      )
  
file_path: pytorch/caffe2/python/operator_test/find_op_test.py
imports: from caffe2.python import core
  import caffe2.python.hypothesis_test_util
  import caffe2.python.serialized_test.serialized_test_util
  import hypothesis.strategies
  from hypothesis import given, settings
  import numpy
label_desc: Use image node_id 1 for calling the TestFindOperator obj's underlying member method code with example usage: obj.test_find(n, idxsize, gc, dc) and returns: list