code: def test_ok(self):
      # True mean is 0, true stddev is 0.001
      samples = normal.Normal(0.0, 1.0).sample(
          1000000, seed=test_util.test_seed()
      )
      # TODO(axch): Add seeds for the randomness inside the bootstrap this does.
      results = emp._evaluate_means_assertion(
          self.evaluate(samples),
          expected=0,
          axis=0,
          atol=0.003,
          rtol=1e-6,
      )
      self.assertEqual(len(results), 1)  # One batch member
      result = results[0]
      self.assertIsInstance(result, emp._Result)
  
      # True failure probability should be 0.0027, which is the
      # two-sided 3-sigma failure rate.
      # Test that the 1e-9 confidence interval contains it.
      self.assertLess(
          result.bootstrap.for_error_rate(1e-9).low_p, 0.0027
      )
      self.assertGreater(
          result.bootstrap.for_error_rate(1e-9).high_p, 0.0027
      )
  
      # If I want a (two-sided) failure rate that's more like 5.6e-7, I
      # should go to 5 sigma.
      suggestion = result.gaussian.for_error_rate(5.6e-7)
      self.assertFalse(suggestion.out_of_bounds)
      self.assertFalse(suggestion.too_tight)
      self.assertFalse(suggestion.too_broad)
      # However, randomness in the original sample makes the suggestion imprecise.
      self.assertAllClose(suggestion.new_atol, 0.005, rtol=0.3)
  
      # The report computation functions don't crash
      self.assertIsInstance(emp._format_brief_report(results), str)
      self.assertIsInstance(emp._format_full_report(results), str)
  
imports: from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import empirical_statistical_testing
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 1 for calling the EmpiricalStatisticalTestingTest obj's underlying member method code with example usage: obj.test_ok() without return types