code: def testBroadcasting(self):
      probs = lambda prob: tf1.placeholder_with_default(
          prob, shape=None
      )
  
      def dist(p):
          return continuous_bernoulli.ContinuousBernoulli(
              probs=probs(p), validate_args=True
          )
  
      self.assertAllClose(0.0, self.evaluate(dist(0.5).log_prob(0.9)))
      self.assertAllClose(
          np.log([1.0, 1.0, 1.0]),
          self.evaluate(dist(0.5).log_prob([0.9, 0.9, 0.9])),
      )
      self.assertAllClose(
          np.log([1.0, 1.0, 1.0]),
          self.evaluate(dist([0.5, 0.5, 0.5]).log_prob(0.9)),
      )
  
imports: import numpy
  from scipy import special
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import continuous_bernoulli
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 13 for calling the ContinuousBernoulliTest obj's underlying member method code with example usage: obj.testBroadcasting() and returns: continuous_bernoulli