code: def testSampling(self, loc, scale, low, high):
      n = int(1000000)
      tf_dist, sp_dist = self.constructDists(loc, scale, low, high)
      tf_samples = self.evaluate(
          tf_dist.sample(n, seed=test_util.test_seed())
      ).flatten()
      self.assertAllGreaterEqual(tf_samples, low)
      self.assertAllLessEqual(tf_samples, high)
  
      sp_samples = sp_dist.rvs(size=n)
      self.assertEmpiricalDistributionsEqual(
          tf_samples, sp_samples, atol=0.05, rtol=0.05
      )
  
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 2 for calling the TruncatedNormalTestCompareWithScipy obj's underlying member method code with example usage: obj.testSampling(loc, scale, low, high) without return types