code: def testVariance(self):
      alpha = [1.0, 2, 3]
      denominator = np.sum(alpha) ** 2 * (np.sum(alpha) + 1)
      dist = dirichlet.Dirichlet(concentration=alpha)
      self.assertEqual(dist.covariance().shape, (3, 3))
      expected_covariance = np.diag(sp_stats.dirichlet.var(alpha))
      expected_covariance += [
          [0.0, -2, -3],
          [-2, 0, -6],
          [-3, -6, 0],
      ] / denominator
      self.assertAllClose(
          self.evaluate(dist.covariance()), expected_covariance
      )
  
imports: import numpy
  from scipy import special
  from scipy import stats
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import exp
  from tensorflow_probability.python.distributions import dirichlet
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
  from tensorflow_probability.python.util import deferred_tensor
label_desc: Use image node_id 16 for calling the DirichletTest obj's underlying member method code with example usage: obj.testVariance() without return types