code: def testNumericSummaryOnBool(self):
      x = np.array([False, True, True, False], dtype=np.bool_)
      out = tensor_format.numeric_summary(x)
      cli_test_utils.assert_lines_equal_ignoring_whitespace(
          self,
          ["| False  True | total |", "|     2     2 |     4 |"],
          out.lines,
      )
  
      x = np.array([True] * 10, dtype=np.bool_)
      out = tensor_format.numeric_summary(x)
      cli_test_utils.assert_lines_equal_ignoring_whitespace(
          self, ["| True | total |", "|   10 |    10 |"], out.lines
      )
  
      x = np.array([False] * 10, dtype=np.bool_)
      out = tensor_format.numeric_summary(x)
      cli_test_utils.assert_lines_equal_ignoring_whitespace(
          self, ["| False | total |", "|    10 |    10 |"], out.lines
      )
  
      x = np.array([], dtype=np.bool_)
      out = tensor_format.numeric_summary(x)
      self.assertEqual(
          ["No numeric summary available due to empty tensor."],
          out.lines,
      )
  
imports: import re
  import numpy
  from tensorflow.core.framework import tensor_pb2
  from tensorflow.core.framework import tensor_shape_pb2
  from tensorflow.core.framework import types_pb2
  from tensorflow.python.debug.cli import cli_test_utils
  from tensorflow.python.debug.cli import tensor_format
  from tensorflow.python.debug.lib import debug_data
  from tensorflow.python.framework import test_util
  from tensorflow.python.platform import googletest
label_desc: Use image node_id 5 for calling the NumericSummaryTest obj's underlying member method code with example usage: obj.testNumericSummaryOnBool() without return types