code: def testBatesPDFLowTotalCount(self):
      ns = np.array([1.0, 2.0])
      lss = np.array([[0.0, -1.0], [-10.0, -1.0]])
      hss = np.array([[1.0, 3.0], [-9.0, 0.0]])
      b = bates.Bates(
          total_count=tf.reshape(ns, (2, 1, 1)),
          low=lss,
          high=hss,
          validate_args=True,
      )
      self.assertAllEqual(
          [2, 2, 2], self.evaluate(b.batch_shape_tensor())
      )
      xs = np.array([0.0, 0.25, 0.5, 1.1, 1.5, 2.0])
      probs = b.prob(tf.reshape(xs, (6, 1, 1, 1)))
      self.assertAllEqual([6, 2, 2, 2], self.evaluate(tf.shape(probs)))
  
      def expected_pdf(n, l, h, x):
          if n == 1:
              left = right = 1.0 / (h - l)
          elif n == 2:
              left = np.power(2 / (h - l), 2) * (x - l)
              right = np.power(2 / (h - l), 2) * (h - x)
          else:
              raise ValueError("Compute your own damn pdfs")
          return np.where(
              x < l,
              0,
              np.where(
                  x > h, 0, np.where(x < (l + h) / 2.0, left, right)
              ),
          )
  
      expected = [
          [
              [
                  [expected_pdf(n, l, h, x) for l, h in zip(ls, hs)]
                  for ls, hs in zip(lss, hss)
              ]
              for n in ns
          ]
          for x in xs
      ]
      self.assertAllClose(expected, self.evaluate(probs))
  
imports: import fractions
  import math
  import sys
  from absl.testing import parameterized
  import hypothesis
  import hypothesis.strategies
  import numpy
  import scipy
  import scipy.integrate
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import bates
  from tensorflow_probability.python.internal import hypothesis_testlib
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 16 for calling the BatesTest obj's underlying member method code with example usage: obj.testBatesPDFLowTotalCount() and returns: np