code: def test_sample(self, is_static, get_distributions, event_shape):
      _, concat_dist = get_distributions(is_static=is_static)
      seed = test_util.test_seed()
      samples = concat_dist.sample(seed=seed)
      self.assertAllEqual(
          self.evaluate(tf.shape(samples)), [2, 6, 4] + event_shape
      )
      samples = concat_dist.sample([12, 20], seed=seed)
      self.assertAllEqual(
          self.evaluate(tf.shape(samples)),
          [12, 20, 2, 6, 4] + event_shape,
      )
  
imports: from absl.testing import parameterized
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import batch_concat
  from tensorflow_probability.python.distributions import dirichlet
  from tensorflow_probability.python.distributions import exponential
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import logistic
  from tensorflow_probability.python.distributions import mvn_diag
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import onehot_categorical
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 5 for calling the BatchConcatTest obj's underlying member method code with example usage: obj.test_sample(is_static, get_distributions, event_shape) without return types