code: def test_at(self, func, nin, nout, identity, shape, idx_shape, dtype):
      if (nin, nout) != (2, 1):
          self.skipTest(
              f"accumulate requires (nin, nout)=(2, 1); got {(nin, nout)=}"
          )
      jnp_fun = partial(
          jnp.frompyfunc(
              func, nin=nin, nout=nout, identity=identity
          ).at,
          inplace=False,
      )
  
      def np_fun(x, idx, y):
          x_copy = x.copy()
          np.frompyfunc(func, nin=nin, nout=nout, identity=identity).at(
              x_copy, idx, y
          )
          return x_copy
  
      rng = jtu.rand_default(self.rng())
      idx_rng = jtu.rand_int(self.rng(), low=-shape[0], high=shape[0])
      args_maker = lambda: [
          rng(shape, dtype),
          idx_rng(idx_shape, "int32"),
          rng(idx_shape[1:], dtype),
      ]
  
      self._CheckAgainstNumpy(jnp_fun, np_fun, args_maker)
      self._CompileAndCheck(jnp_fun, args_maker)
  
imports: from functools import partial
  from absl.testing import absltest
  import numpy
  import jax
  import jax.numpy
  from jax._src import test_util
  from jax._src.numpy.ufunc_api import get_if_single_primitive
  from jax import config
label_desc: Use image node_id 12 for calling the LaxNumpyUfuncTests obj's underlying member method code with example usage: obj.test_at(func, nin, nout, identity, shape, idx_shape, dtype) and returns: x_copy