code: def testKernels(self, kernel_name, data):
      event_dim = data.draw(hps.integers(min_value=2, max_value=3))
      feature_ndims = data.draw(hps.integers(min_value=0, max_value=2))
      feature_dim = data.draw(hps.integers(min_value=2, max_value=4))
  
      kernel, _ = data.draw(
          kernel_hps.kernels(
              kernel_name=kernel_name,
              event_dim=event_dim,
              feature_dim=feature_dim,
              feature_ndims=feature_ndims,
              enable_vars=False,
          )
      )
  
      # Check that all kernels still register as non-iterable despite
      # defining __getitem__.  (Because __getitem__ magically makes an object
      # iterable for some reason.)
      with self.assertRaisesRegex(TypeError, "not iterable"):
          iter(kernel)
  
      # Test slicing
      self._test_slicing(
          data, kernel_name, kernel, feature_dim, feature_ndims
      )
  
file_path: probability/tensorflow_probability/python/math/psd_kernels/psd_kernel_properties_test.py
imports: import collections
  from absl.testing import parameterized
  import hypothesis
  from hypothesis import strategies
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import hypothesis_testlib
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math.psd_kernels import hypothesis_testlib
label_desc: Use image node_id 2 for calling the PSDKernelSlicingTest obj's underlying member method code with example usage: obj.testKernels(kernel_name, data) without return types