docstr: Check (empirically) the different parameters in a batch are respected.
      
code: def testBatchSampling(self):
      """Check (empirically) the different parameters in a batch are respected."""
      n = int(1e5)
      lb = [[-1.0, 9.0], [0.0, 8.0]]
      ub = [[1.0, 11.0], [5.0, 20.0]]
      dist = truncated_normal.TruncatedNormal(
          loc=[[0.0, 10.0], [0.0, 10.0]],
          scale=[[1.0, 1.0], [5.0, 5.0]],
          low=lb,
          high=ub,
          validate_args=True,
      )
      x = self.evaluate(dist.sample(n, seed=test_util.test_seed()))
      self.assertEqual(x.shape, (n, 2, 2))
  
      means = np.mean(x, axis=0)
      var = np.var(x, axis=0)
      self.assertAllClose(
          means, [[0.0, 10.0], [2.299, 12.48]], rtol=1e-2, atol=1e-2
      )
      self.assertAllClose(
          var, [[0.29, 0.29], [1.99, 8.74]], rtol=1e-2, atol=1e-2
      )
  
      empirical_lb = np.min(x, axis=0)
      self.assertAllClose(empirical_lb, lb, atol=0.1)
      empirical_ub = np.max(x, axis=0)
      self.assertAllClose(empirical_ub, ub, atol=0.1)
  
imports: import itertools
  import unittest
  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 normal
  from tensorflow_probability.python.distributions import truncated_normal
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 5 for calling the TruncatedNormalStandaloneTestCase obj's underlying member method code with example usage: obj.testBatchSampling() without return types