code: def test_attributes(self):
      cov_reducer = covariance_reducer.CovarianceReducer(
          event_ndims=1, ddof=1
      )
      state = cov_reducer.initialize(tf.ones((2, 3), dtype=tf.float64))
  
      # check attributes are correct right after initialization
      self.assertEqual(1, cov_reducer.event_ndims)
      self.assertEqual(1, cov_reducer.ddof)
      for _ in range(2):
          state = cov_reducer.one_step(
              tf.zeros((2, 3), dtype=tf.float64), state
          )
  
      # check attributes don't change after stepping through
      self.assertEqual(1, cov_reducer.event_ndims)
      self.assertEqual(1, cov_reducer.ddof)
  
file_path: probability/tensorflow_probability/python/experimental/mcmc/covariance_reducer_test.py
imports: import collections
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.experimental.mcmc import covariance_reducer
  from tensorflow_probability.python.experimental.mcmc.internal import test_fixtures
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 3 for calling the CovarianceReducersTest obj's underlying member method code with example usage: obj.test_attributes() without return types