code: def testInvalidLam(self):
      invalid_rate = self.dtype([-0.01, 1.0, 2.0])
      valid_rate = self.dtype([1.0, 2.0, 3.0])
      with self.assertRaisesOpError(
          "Argument `rate1` must be non-negative."
      ):
          dist = self._make_skellam(
              rate1=invalid_rate, rate2=valid_rate
          )
          self.evaluate(dist.rate1_parameter())
  
      with self.assertRaisesOpError(
          "Argument `rate2` must be non-negative."
      ):
          dist = self._make_skellam(
              rate1=valid_rate, rate2=invalid_rate
          )
          self.evaluate(dist.rate2_parameter())
  
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 3 for calling the _SkellamTest obj's underlying member method code with example usage: obj.testInvalidLam() without return types