code: def testAssertsNonNegativeRate(self):
      rate1 = tf.Variable([-1.0, 2.0, -3.0])
      rate2 = tf.Variable([1.0, 2.0, 3.0])
      self.evaluate([rate1.initializer, rate2.initializer])
      with self.assertRaisesOpError(
          "Argument `rate1` must be non-negative."
      ):
          dist = self._make_skellam(
              rate1=rate1, rate2=rate2, validate_args=True
          )
          self.evaluate(dist.sample(seed=test_util.test_seed()))
  
      rate1 = tf.Variable([1.0, 2.0, 3.0])
      rate2 = tf.Variable([-1.0, 2.0, -3.0])
      self.evaluate([rate1.initializer, rate2.initializer])
  
      with self.assertRaisesOpError(
          "Argument `rate2` must be non-negative."
      ):
          dist = self._make_skellam(
              rate1=rate1, rate2=rate2, validate_args=True
          )
          self.evaluate(dist.sample(seed=test_util.test_seed()))
  
imports: import numpy
  from scipy import stats
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import skellam
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 16 for calling the _SkellamTest obj's underlying member method code with example usage: obj.testAssertsNonNegativeRate() without return types