code: def test_sample_shape_propagation_default_behavior(self):
      # pylint: disable=bad-whitespace
      d = jdn.JointDistributionNamed(
          dict(
              e=independent.Independent(
                  exponential.Exponential(rate=[100, 120]), 1
              ),
              scale=lambda e: gamma.Gamma(  # pylint: disable=g-long-lambda
                  concentration=e[..., 0], rate=e[..., 1]
              ),
              s=half_normal.HalfNormal(2.5),
              loc=lambda s: normal.Normal(loc=0, scale=s),
              df=exponential.Exponential(2),
              x=student_t.StudentT,
          ),
          validate_args=False,
      )
      # pylint: enable=bad-whitespace
      x = d.sample([2, 3], seed=test_util.test_seed())
      self.assertLen(x, 6)
      self.assertEqual((2, 3, 2), x["e"].shape)
      self.assertEqual((2, 3), x["scale"].shape)
      self.assertEqual((2, 3), x["s"].shape)
      self.assertEqual((2, 3), x["loc"].shape)
      self.assertEqual((2, 3), x["df"].shape)
      self.assertEqual((2, 3), x["x"].shape)
      lp = d.log_prob(x)
      self.assertEqual((2, 3), lp.shape)
  
imports: import collections
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector_test_util
  from tensorflow_probability.python.bijectors import scale
  from tensorflow_probability.python.distributions import bernoulli
  from tensorflow_probability.python.distributions import beta
  from tensorflow_probability.python.distributions import exponential
  from tensorflow_probability.python.distributions import gamma
  from tensorflow_probability.python.distributions import half_normal
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import joint_distribution_named
  from tensorflow_probability.python.distributions import joint_distribution_sequential
  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 sample
  from tensorflow_probability.python.distributions import student_t
  from tensorflow_probability.python.distributions import transformed_distribution
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 19 for calling the JointDistributionNamedTest obj's underlying member method code with example usage: obj.test_sample_shape_propagation_default_behavior() without return types