class_docstr: Well tested because this is a simple override of the base class.
code: def testDistWithBatchShapeOneThenTransformedThroughSoftplus(self):
      # This complex combination of events resulted in a loss of static shape
      # information when tf.get_static_value(self._needs_rotation) was
      # being used incorrectly (resulting in always rotating).
      # Batch shape = [1], event shape = [3]
      mu = tf.zeros((1, 3))
      diag = tf.ones((1, 3))
      base_dist = mvn_diag.MultivariateNormalDiag(
          mu, diag, validate_args=True
      )
      dist = transformed_distribution.TransformedDistribution(
          base_dist, validate_args=True, bijector=softplus.Softplus()
      )
      samps = dist.sample(
          5, seed=test_util.test_seed()
      )  # Shape [5, 1, 3].
      self.assertAllEqual([5, 1], dist.log_prob(samps).shape)
  
imports: import os
  from absl.testing import parameterized
  import numpy
  from scipy import stats
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import lognormal
  from tensorflow_probability.python.distributions import mvn_diag
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import transformed_distribution
  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 4 for calling the MultivariateNormalDiagTest obj's underlying member method code with example usage: obj.testDistWithBatchShapeOneThenTransformedThroughSoftplus() without return types