code: def testBetaModeEnableAllowNanStats(self):
      a = np.array([1.0, 2, 3])
      b = np.array([2.0, 4, 1.2])
      dist = beta.Beta(a, b, allow_nan_stats=True, validate_args=True)
  
      expected_mode = (a - 1) / (a + b - 2)
      expected_mode[0] = np.nan
      self.assertEqual((3,), dist.mode().shape)
      self.assertAllClose(expected_mode, self.evaluate(dist.mode()))
  
      a = np.array([2.0, 2, 3])
      b = np.array([1.0, 4, 1.2])
      dist = beta.Beta(a, b, allow_nan_stats=True, validate_args=True)
  
      expected_mode = (a - 1) / (a + b - 2)
      expected_mode[0] = np.nan
      self.assertEqual((3,), dist.mode().shape)
      self.assertAllClose(expected_mode, self.evaluate(dist.mode()))
  
imports: from absl.testing import parameterized
  import numpy
  from scipy import special
  from scipy import stats
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import beta
  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 19 for calling the BetaTest obj's underlying member method code with example usage: obj.testBetaModeEnableAllowNanStats() without return types