1
16
17 import org.as2lib.util.StringUtil;
18 import org.as2lib.test.speed.TestSuiteResult;
19 import org.as2lib.test.speed.ConfigurableTestSuiteResult;
20 import org.as2lib.test.speed.AbstractTestSuiteResult;
21 import org.as2lib.test.speed.TestResult;
22 import org.as2lib.test.speed.MethodInvocationHolder;
23
24
29 class org.as2lib.test.speed.SimpleTestSuiteResult extends AbstractTestSuiteResult implements ConfigurableTestSuiteResult {
30
31
32 private static var __proto__:Function = AbstractTestSuiteResult;
33
34
35 private var name:String;
36
37
42 public function SimpleTestSuiteResult(name:String) {
43 this.name = name;
44 }
45
46
51 public function getName(Void):String {
52 return this.name;
53 }
54
55
60 public function getTime(Void):Number {
61 var result:Number = 0;
62 for (var i:Number = 0; i < this.testResults.length; i++) {
63 var testResult:TestResult = this.testResults[i];
64 result += testResult.getTime();
65 }
66 return result;
67 }
68
69
77 public function toString():String {
78 var rootTestResult:TestSuiteResult = TestSuiteResult(arguments[0]);
79 if (!rootTestResult) rootTestResult = getThis();
80 var result:String = getTimePercentage(rootTestResult.getTime()) + "%";
81 result += ", " + getThis().getTime() + " ms";
82 result += " - " + getMethodInvocationPercentage(rootTestResult.getMethodInvocationCount()) + "%";
83 result += ", " + getMethodInvocationCount() + " inv.";
84 result += " - " + getAverageTime() + " ms/inv.";
85 if (getTestResultCount() == 1 && !(this.testResults[0] instanceof TestSuiteResult)) {
86 result += " - " + this.testResults[0].getName();
87 } else if (getTestResultCount() == 1 && !TestSuiteResult(this.testResults[0]).hasMethodInvocations()) {
88 result += " - " + this.testResults[0].getName();
89 } else {
90 result += " - " + getThis().getName();
91 var totalTime:Number = getThis().getTime();
92 for (var i:Number = 0; i < this.testResults.length; i++) {
93 var testResult:TestResult = this.testResults[i];
94 if (TestSuiteResult(testResult).hasMethodInvocations()
95 || !(testResult instanceof TestSuiteResult)
96 || testResult instanceof MethodInvocationHolder) {
97 result += "\n";
98 result += StringUtil.addSpaceIndent(testResult.toString(rootTestResult), 2);
99 }
100 }
101 }
102 return result;
103 }
104
105 }