code: def testInvalidConcentration(self):
      with self.assertRaisesOpError("`concentration` must be positive"):
          dist = beta_quotient.BetaQuotient(
              -1.0, 1.0, 1.0, 1.0, validate_args=True
          )
          self.evaluate(dist.sample())
  
      with self.assertRaisesOpError("`concentration` must be positive"):
          dist = beta_quotient.BetaQuotient(
              1.0, -1.0, 1.0, 1.0, validate_args=True
          )
          self.evaluate(dist.sample())
  
      with self.assertRaisesOpError("`concentration` must be positive"):
          dist = beta_quotient.BetaQuotient(
              1.0, 1.0, -1.0, 1.0, validate_args=True
          )
          self.evaluate(dist.sample())
  
      with self.assertRaisesOpError("`concentration` must be positive"):
          dist = beta_quotient.BetaQuotient(
              1.0, 1.0, 1.0, -1.0, validate_args=True
          )
          self.evaluate(dist.sample())
  
imports: import numpy
  from scipy import special
  from scipy import stats
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import beta_quotient
  from tensorflow_probability.python.distributions.internal import statistical_testing
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 4 for calling the _BetaQuotientTest obj's underlying member method code with example usage: obj.testInvalidConcentration() without return types