code: def testExponentialSample(self):
      lam = tf.constant([3.0, 4.0])
      lam_v = [3.0, 4.0]
      n = tf.constant(100000)
      dist = exponential.Exponential(rate=lam, validate_args=True)
  
      samples = dist.sample(n, seed=test_util.test_seed())
      sample_values = self.evaluate(samples)
      self.assertEqual(sample_values.shape, (100000, 2))
      self.assertFalse(np.any(sample_values < 0.0))
      for i in range(2):
          self.assertLess(
              sp_stats.kstest(
                  sample_values[:, i],
                  sp_stats.expon(scale=1.0 / lam_v[i]).cdf,
              )[0],
              0.01,
          )
  
imports: import numpy
  from scipy import stats
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import exponential
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 8 for calling the ExponentialTest obj's underlying member method code with example usage: obj.testExponentialSample() without return types