code: def testSample(self):
      # Check first and second moments.
      df = 4.0
      chol_w = wishart.WishartTriL(
          df=df,
          scale_tril=chol(make_pd(1.0, 3)),
          input_output_cholesky=False,
          validate_args=True,
      )
      x = chol_w.sample(
          10000, seed=test_util.test_seed(hardcoded_seed=42)
      )
      self.assertAllEqual((10000, 3, 3), x.shape)
  
      x_, moment1_estimate = self.evaluate(
          [x, tf.reduce_mean(x, axis=[0])]
      )
      self.assertAllMeansClose(
          x_, self.evaluate(chol_w.mean()), axis=0, rtol=0.05
      )
  
      # The Variance estimate uses the squares rather than outer-products
      # because Wishart.Variance is the diagonal of the Wishart covariance
      # matrix.
      variance_estimate = self.evaluate(
          tf.reduce_mean(tf.square(x), axis=[0])
          - tf.square(moment1_estimate)
      )
      self.assertAllClose(
          self.evaluate(chol_w.variance()), variance_estimate, rtol=0.15
      )
  
imports: import numpy
  from scipy import linalg
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import categorical
  from tensorflow_probability.python.distributions import mixture_same_family
  from tensorflow_probability.python.distributions import wishart
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 13 for calling the WishartTest obj's underlying member method code with example usage: obj.testSample() without return types