code: def test_argtopk_sanity(self, dtype, idx_dtype, axis, sorted):
      x = tensor.vector(name="x", dtype=dtype)
      fn = theano.function(
          [x],
          argtopk(x, 1, axis=axis, sorted=sorted, idx_dtype=idx_dtype),
          mode=self.mode,
      )
      assert any(
          [
              isinstance(n.op, self.op_class)
              for n in fn.maker.fgraph.apply_nodes
          ]
      )
      xval = np.asarray([1]).astype(dtype)
      yval = fn(xval)
      assert yval == np.asarray([0], dtype=idx_dtype)
      assert yval.dtype == np.dtype(idx_dtype)
  
imports: from __future__ import absolute_import, print_function, division
  from itertools import product, chain
  from functools import reduce
  import unittest
  from theano.tests import unittest_tools
  import numpy
  import theano
  from theano import tensor
  from theano.tensor.sort import sort, SortOp
  from theano.tensor.sort import argsort, ArgSortOp
  from theano.tensor.sort import topk, argtopk, topk_and_argtopk, TopKOp
label_desc: Use image node_id 2 for calling the Test_TopK obj's underlying member method code with example usage: obj.test_argtopk_sanity(dtype, idx_dtype, axis, sorted) without return types