code: def testVariableCovAssertions(self):
      # We test that changing the scale to be non-invertible raises an exception
      # when validate_args is True. This is really just testing the underlying
      # LinearOperator instance, but we include it to demonstrate that it
      # works as expected.
      base_operator_diag = tf.Variable([1.0, 1.0])
      base_operator = tf.linalg.LinearOperatorDiag(
          base_operator_diag, is_positive_definite=True
      )
      cov_operator = tf.linalg.LinearOperatorLowRankUpdate(
          base_operator, u=tf.zeros((2, 2))
      )
      d = MultivariateNormalLowRankUpdateLinearOperatorCovariance(
          loc=None, cov_operator=cov_operator, validate_args=True
      )
      self.evaluate(base_operator_diag.initializer)
      with self.assertRaises(Exception):
          with tf.control_dependencies(
              [base_operator_diag.assign([1.0, 0.0])]
          ):
              self.evaluate(d.sample(seed=test_util.test_seed()))
  
imports: import collections
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import mvn_low_rank_update_linear_operator_covariance
  from tensorflow_probability.python.distributions import mvn_tril
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.stats import sample_stats
label_desc: Use image node_id 7 for calling the MultivariateNormalLowRankUpdateLinearOperatorCovarianceTest obj's underlying member method code with example usage: obj.testVariableCovAssertions() without return types