code: def test_batch_shape(self):
      batch_shape = [3, 2]
      seed = test_util.test_seed(sampler_type="stateless")
  
      ssm = self._dummy_model(batch_shape=batch_shape)
      additive_ssm = AdditiveStateSpaceModel([ssm, ssm])
      y = additive_ssm.sample(seed=seed)
  
      if self.use_static_shape:
          self.assertAllEqual(
              tensorshape_util.as_list(additive_ssm.batch_shape),
              batch_shape,
          )
          self.assertAllEqual(
              tensorshape_util.as_list(y.shape)[:-2], batch_shape
          )
      else:
          self.assertAllEqual(
              self.evaluate(additive_ssm.batch_shape_tensor()),
              batch_shape,
          )
          self.assertAllEqual(
              self.evaluate(tf.shape(y))[:-2], batch_shape
          )
  
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import linear_gaussian_ssm
  from tensorflow_probability.python.distributions import mvn_diag
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.sts.components.local_linear_trend import LocalLinearTrendStateSpaceModel
  from tensorflow_probability.python.sts.components.sum import AdditiveStateSpaceModel
label_desc: Use image node_id 4 for calling the _AdditiveStateSpaceModelTest obj's underlying member method code with example usage: obj.test_batch_shape() without return types