code: def test_batch_shape(self, is_static, get_distributions):
      _, concat_dist = get_distributions(is_static=is_static)
      if tf.executing_eagerly() or is_static:
          self.assertAllEqual(concat_dist.batch_shape, [2, 6, 4])
      else:
          self.assertEqual(
              concat_dist.batch_shape, tf.TensorShape(None)
          )
  
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 2 for calling the BatchConcatTest obj's underlying member method code with example usage: obj.test_batch_shape(is_static, get_distributions) without return types