code: def test_sum_mvns(self):
      batch_shape = [4, 2]
      random_with_shape = lambda shape: np.random.standard_normal(
          shape
      ).astype(np.float32)
  
      mvn1 = mvn_diag.MultivariateNormalDiag(
          loc=random_with_shape(batch_shape + [3]),
          scale_diag=np.exp(random_with_shape(batch_shape + [3])),
      )
      mvn2 = mvn_diag.MultivariateNormalDiag(
          loc=random_with_shape(batch_shape + [3]),
          scale_diag=np.exp(random_with_shape(batch_shape + [3])),
      )
  
      sum_mvn = sts_util.sum_mvns([mvn1, mvn2])
      self.assertAllClose(
          self.evaluate(sum_mvn.mean()),
          self.evaluate(mvn1.mean() + mvn2.mean()),
      )
      self.assertAllClose(
          self.evaluate(sum_mvn.covariance()),
          self.evaluate(mvn1.covariance() + mvn2.covariance()),
      )
  
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 3 for calling the MultivariateNormalUtilsTest obj's underlying member method code with example usage: obj.test_sum_mvns() without return types