- <?php
-
- abstract class Reporter
- {
- // 0 == no output
- // 1 == brief output (students?)
- // 2 == verbose output (marking)
- private $verbosity = 0;
-
- const STATUS_PASS = 'PASSED';
- const STATUS_SKIPPED = 'SKIPPED';
- const STATUS_INCOMPLETE = 'INCOMPLETE';
- const STATUS_FAILURE = 'FAILED';
- const STATUS_ERROR = 'ERROR';
- const STATUS_WARNING = 'WARNING';
- const STATUS_NOTE = 'NOTE';
- const STATUS_TEST = 'TEST';
-
- function __construct( $verbosity )
- {
- $this->verbosity = $verbosity;
- }
-
- public static function pluralise( $count, $oneText, $manyText )
- {
- return ( abs( $count ) !== 1 ) ? $manyText : $oneText;
- }
-
- public function setVerbosity( $newVerbosity )
- {
- $this->verbosity = $newVerbosity;
- }
-
- public function getVerbosity()
- {
- return $this->verbosity;
- }
-
- /**
- * $reportText is one of: PASSED, FAILED, ERROR, INCOMPLETE, SKIPPED, WARNING, NOTE, MISC, ...?
- * $reportText is a printf-style string (although we actually use vprintf because of the array)
- * $printfArguments is an array of arguments to $reportText
- */
- public function report( $statusText, $reportText, $printfArguments = null )
- {
- if ( $this->verbosity ) vprintf( $statusText . $reportText . "\n", $printfArguments );
- }
-
- abstract public function hr();
- }
-
- ?>