code: def test_bounds_scalar(self):
      rb = elb.RatioBound(500, 0, 500, 500, 0.01)
      # Expected result except for clopper pearson.
      expected_res = {
          elb.BoundMethod.KATZ_LOG: 37.31696140,
          elb.BoundMethod.ADJUSTED_LOG: 37.35421695,
          elb.BoundMethod.BAILEY: 108.47420518,
          elb.BoundMethod.INV_SINH: 35.46128691,
      }
      res = rb.compute_bounds()
      # For clopper pearson we only have this test. So we handle it separately.
      self.assertAlmostEqual(
          np.log(res[elb.BoundMethod.CLOPPER_PEARSON]), 4.54, places=2
      )
      del res[elb.BoundMethod.CLOPPER_PEARSON]
      self.assertEqual(res.keys(), expected_res.keys())
      np.testing.assert_almost_equal(
          [res[k] for k in res], [expected_res[k] for k in res]
      )
      # Specify methods to use
      methods = set(
          [elb.BoundMethod.KATZ_LOG, elb.BoundMethod.INV_SINH]
      )
      res = rb.compute_bounds(methods)
      self.assertEqual(set(res.keys()), methods)
      np.testing.assert_almost_equal(
          [res[k] for k in res], [expected_res[k] for k in res]
      )
  
imports: from absl.testing import absltest
  from absl.testing import parameterized
  import numpy
  from tensorflow_privacy.privacy.privacy_tests import epsilon_lower_bound
label_desc: Use image node_id 6 for calling the RatioBoundTest obj's underlying member method code with example usage: obj.test_bounds_scalar() without return types