code: def testHalfNormalVariance(self):
      scale = np.array([7.0, 7.0, 7.0])
      halfnorm = half_normal.HalfNormal(scale=scale, validate_args=True)
      expected_variance = scale**2.0 * (1.0 - 2.0 / np.pi)
  
      self.assertAllEqual(
          (3,), self.evaluate(halfnorm.variance()).shape
      )
      self.assertAllEqual(
          expected_variance, self.evaluate(halfnorm.variance())
      )
  
imports: from absl.testing import parameterized
  import numpy
  from scipy import stats
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import half_normal
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 17 for calling the HalfNormalTest obj's underlying member method code with example usage: obj.testHalfNormalVariance() without return types