code: def testLogProb(self, loc, scale, low, high):
      test_x = list(np.float32(np.random.uniform(low, high, 10)))
      test_x += [
          low,
          high,
          low + EPSILON,
          low - EPSILON,
          high + EPSILON,
          high - EPSILON,
      ]
  
      tf_dist, sp_dist = self.constructDists(
          loc, scale, low, high, validate_args=False
      )
  
      tf_log_prob = self.evaluate(tf_dist.log_prob(test_x))
      sp_log_prob = sp_dist.logpdf(test_x)
      self.assertAllClose(
          tf_log_prob, sp_log_prob, rtol=1e-4, atol=1e-4
      )
  
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 4 for calling the TruncatedNormalTestCompareWithScipy obj's underlying member method code with example usage: obj.testLogProb(loc, scale, low, high) without return types