code: def test_pad_batch_dimension_when_input_has_sample_shape(self):
      model_batch_shape = [3, 2]
      model = local_level.LocalLevel(
          level_scale_prior=normal.Normal(
              loc=self._build_tensor(
                  np.random.randn(*model_batch_shape)
              ),
              scale=1.0,
          )
      )
  
      num_timesteps = 5
      sample_shape = [4]
      observed_time_series = self._build_tensor(
          np.random.randn(
              *(sample_shape + model_batch_shape + [num_timesteps, 1])
          )
      )
  
      padded_observed_time_series = (
          sts_util.pad_batch_dimension_for_multiple_chains(
              observed_time_series,
              model=model,
              chain_batch_shape=[8, 2],
          )
      )
      self.assertAllEqual(
          self._shape_as_list(padded_observed_time_series.time_series),
          sample_shape
          + [1, 1]
          + model_batch_shape
          + [num_timesteps, 1],
      )
  
imports: from absl.testing import parameterized
  import numpy
  import pandas
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import mvn_diag
  from tensorflow_probability.python.distributions import mvn_tril
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.sts.components import local_level
  from tensorflow_probability.python.sts.internal import missing_values_util
  from tensorflow_probability.python.sts.internal import util
label_desc: Use image node_id 5 for calling the _UtilityTests obj's underlying member method code with example usage: obj.test_pad_batch_dimension_when_input_has_sample_shape() without return types