class_docstr: TestResult contains information useful for tracking test results
class_docstr_tok: ["TestResult","contains","information","useful","for","tracking","test","results"]
code: def _alert_result_block(self, values, failed=False):
      result_block = []
      fmt = "{pad_char:<{pad}}{line}"
      for rule_name in sorted(values):
          result_block.append(
              fmt.format(
                  pad_char=" ",
                  pad=self._DEFAULT_INDENT * 4,
                  line="Rule: {rule_name}".format(
                      rule_name=format_underline(rule_name)
                  ),
              )
          )
  
          result_block.extend(
              fmt.format(
                  pad_char=" ",
                  pad=self._DEFAULT_INDENT * 5,
                  line=format_red(value) if failed else value,
              )
              for value in values[rule_name]
          )
  
      return (
          self._NONE_STRING
          if not result_block
          else "\n{}".format("\n".join(result_block))
      )
  
imports: from collections import defaultdict
  import textwrap
  from streamalert.shared import rule
  from streamalert.shared.logger import get_logger
  from streamalert_cli.test.event import TestEvent
  from streamalert_cli.test.format import format_green, format_red, format_underline
label_desc: Use image node_id 14 for calling the TestResult obj's underlying member method code with example usage: obj._alert_result_block(values, failed) and returns: unknown