original_string: public function render(ResultsRenderer $renderer)
      {
          $output = '';
          if (count($bannedFunctions = $this->result->getBannedFunctions())) {
              $output .= sprintf(
                  "  %s\n%s\n",
                  $renderer->style(
                      "Some functions were used which should not be used in this exercise",
                      ['bold', 'underline', 'yellow']
                  ),
                  implode("\n", array_map(function (array $call) {
                      return sprintf('    %s on line %s', $call['function'], $call['line']);
                  }, $bannedFunctions))
              );
          }
  
          if (count($missingFunctions = $this->result->getMissingFunctions())) {
              $output .= sprintf(
                  "  %s\n%s\n",
                  $renderer->style(
                      "Some function requirements were missing. You should use the functions",
                      ['bold', 'underline', 'yellow']
                  ),
                  implode("\n", array_map(function ($function) {
                      return sprintf('    %s', $function);
                  }, $missingFunctions))
              );
          }
  
          return $output;
      }
code: public function render(ResultsRenderer $renderer)
      {
          $output = '';
          if (count($bannedFunctions = $this->result->getBannedFunctions())) {
              $output .= sprintf(
                  "  %s\n%s\n",
                  $renderer->style(
                      "Some functions were used which should not be used in this exercise",
                      ['bold', 'underline', 'yellow']
                  ),
                  implode("\n", array_map(function (array $call) {
                      return sprintf('    %s on line %s', $call['function'], $call['line']);
                  }, $bannedFunctions))
              );
          }
  
          if (count($missingFunctions = $this->result->getMissingFunctions())) {
              $output .= sprintf(
                  "  %s\n%s\n",
                  $renderer->style(
                      "Some function requirements were missing. You should use the functions",
                      ['bold', 'underline', 'yellow']
                  ),
                  implode("\n", array_map(function ($function) {
                      return sprintf('    %s', $function);
                  }, $missingFunctions))
              );
          }
  
          return $output;
      }
code_tokens: public function render ( ResultsRenderer $ renderer ) { $ output = '' ; if ( count ( $ bannedFunctions = $ this -> result -> getBannedFunctions ( ) ) ) { $ output .= sprintf ( "  %s\n%s\n" , $ renderer -> style ( "Some functions were used which should not be used in this exercise" , [ 'bold' , 'underline' , 'yellow' ] ) , implode ( "\n" , array_map ( function ( array $ call ) { return sprintf ( '    %s on line %s' , $ call [ 'function' ] , $ call [ 'line' ] ) ; } , $ bannedFunctions ) ) ) ; } if ( count ( $ missingFunctions = $ this -> result -> getMissingFunctions ( ) ) ) { $ output .= sprintf ( "  %s\n%s\n" , $ renderer -> style ( "Some function requirements were missing. You should use the functions" , [ 'bold' , 'underline' , 'yellow' ] ) , implode ( "\n" , array_map ( function ( $ function ) { return sprintf ( '    %s' , $ function ) ; } , $ missingFunctions ) ) ) ; } return $ output ; }
docstring: Print a list of the missing, required functions & print a list of used but banned functions.
  
  @param ResultsRenderer $renderer
  @return string
docstring_tokens: Print a list of the missing required functions & print a list of used but banned functions .