1 jls.loader.provide('jls.jsunit.TestResult');
  2 
  3 jls.loader.require('jls.lang.AssertionError');
  4 jls.loader.require('jls.jsunit.TestFailure');
  5 
  6 jls.jsunit.TestResult = jls.lang.Class.create(
  7 {
  8     initialize : function() {
  9 		this._errors = [];
 10         this._failures = [];
 11         this._runTests = 0;
 12     },
 13     run : function(test) {
 14         this.startTest(test);
 15         try {
 16             test.runBare();
 17         }
 18         catch (e) {
 19             if (e instanceof jls.lang.AssertionError) {
 20                 this.addFailure(test, e);
 21             } else {
 22                 this.addError(test, e);
 23             }
 24         }
 25         this.endTest(test);
 26     },
 27     startTest : function(test) {
 28         this._runTests += test.countTestCases();
 29     },
 30     endTest : function(test) {
 31     },
 32     addFailure : function(test, e) {
 33         this._failures.push(new jls.jsunit.TestFailure(test, e));
 34     },
 35     addError : function(test, e) {
 36         this._errors.push(new jls.jsunit.TestFailure(test, e));
 37     },
 38     errorCount : function() {
 39 		return this._errors.length;
 40     },
 41     failureCount : function() {
 42 		return this._failures.length;
 43     },
 44     runCount : function() {
 45 		return this._runTests;
 46     },
 47     wasSuccessful : function() {
 48 		return this.errorCount() == 0 && this.failureCount() == 0;
 49     },
 50     toString : function() {
 51 		return '' + this.runCount() + ' test(s): ' + this.errorCount() + ' error(s) and ' + this.failureCount() + ' failure(s)';
 52     },
 53     getErrors : function() {
 54 		return this._errors;
 55     },
 56     getFailures : function() {
 57 		return this._failures;
 58     }
 59 });
 60