| 
					
				 | 
			
			
				@@ -7,8 +7,8 @@ selector: "result", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { return self["@result"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "result", [], smalltalk.ResultAnnouncement)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self["@result"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "result\x0a\x09^result", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -23,8 +23,8 @@ selector: "result:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aTestResult){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { self["@result"]=aTestResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "result:", [aTestResult], smalltalk.ResultAnnouncement)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self["@result"]=aTestResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aTestResult"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "result: aTestResult\x0a\x09result := aTestResult", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -40,10 +40,11 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "assert:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'testing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aBoolean){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { _st(self)._assert_description_(aBoolean,"Assertion failed"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "assert:", [aBoolean], smalltalk.TestCase)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aBoolean) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    smalltalk.send(self, "_assert_description_", [aBoolean, "Assertion failed"]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aBoolean"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "assert: aBoolean\x0a\x09self assert: aBoolean description: 'Assertion failed'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["assert:description:"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -56,12 +57,13 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "assert:description:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'testing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aBoolean,aString){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { if(! smalltalk.assert(aBoolean)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self)._signalFailure_(aString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "assert:description:", [aBoolean,aString], smalltalk.TestCase)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aBoolean, aString) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!smalltalk.assert(aBoolean)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        smalltalk.send(self, "_signalFailure_", [aString]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aBoolean", "aString"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "assert: aBoolean description: aString\x0a\x09aBoolean ifFalse: [self signalFailure: aString]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["ifFalse:", "signalFailure:"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -74,12 +76,12 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "assert:equals:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'testing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (expected,actual){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(self)._assert_description_(_st(expected).__eq(actual),_st(_st(_st("Expected: ").__comma(_st(expected)._asString())).__comma(" but was: ")).__comma(_st(actual)._asString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "assert:equals:", [expected,actual], smalltalk.TestCase)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (expected, actual) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $1 = smalltalk.send(self, "_assert_description_", [smalltalk.send(expected, "__eq", [actual]), smalltalk.send(smalltalk.send(smalltalk.send("Expected: ", "__comma", [smalltalk.send(expected, "_asString", [])]), "__comma", [" but was: "]), "__comma", [smalltalk.send(actual, "_asString", [])])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["expected", "actual"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "assert: expected equals: actual\x0a\x09^ self assert: (expected = actual) description: 'Expected: ', expected asString, ' but was: ', actual asString", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["assert:description:", "=", ",", "asString"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -92,10 +94,11 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "deny:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'testing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aBoolean){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { _st(self)._assert_(_st(aBoolean)._not()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "deny:", [aBoolean], smalltalk.TestCase)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aBoolean) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    smalltalk.send(self, "_assert_", [smalltalk.send(aBoolean, "_not", [])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aBoolean"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "deny: aBoolean\x0a\x09self assert: aBoolean not", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["assert:", "not"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -110,8 +113,8 @@ selector: "performTest", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'running', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { _st(self)._perform_(_st(self)._selector()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "performTest", [], smalltalk.TestCase)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.send(self,"_perform_",[smalltalk.send(self,"_selector",[])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "performTest\x0a\x09self perform: self selector\x0a", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["perform:", "selector"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -126,13 +129,13 @@ selector: "runCase", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'running', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { _st((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self)._setUp(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(self)._performTest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}))._ensure_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(self)._tearDown(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "runCase", [], smalltalk.TestCase)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.send((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.send(self,"_setUp",[]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.send(self,"_performTest",[]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}),"_ensure_",[(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.send(self,"_tearDown",[]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+})]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "runCase\x0a\x09[\x09self setUp.\x0a\x09\x09self performTest ] ensure: [\x0a\x09\x09self tearDown.\x0a\x09\x09\x22self cleanUpInstanceVariables\x22 ]\x0a", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["ensure:", "tearDown", "setUp", "performTest"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -145,10 +148,10 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "selector", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { return self["@testSelector"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "selector", [], smalltalk.TestCase)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self['@testSelector']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "selector\x0a\x09^testSelector", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -161,10 +164,11 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "setTestSelector:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aSelector){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { self["@testSelector"]=aSelector; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "setTestSelector:", [aSelector], smalltalk.TestCase)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aSelector) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    self['@testSelector'] = aSelector; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aSelector"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "setTestSelector: aSelector\x0a\x09testSelector := aSelector", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -177,9 +181,10 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "setUp", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'running', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { return self}, self, "setUp", [], smalltalk.TestCase)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "setUp", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -192,10 +197,11 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "should:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'testing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aBlock){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { _st(self)._assert_(_st(aBlock)._value()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "should:", [aBlock], smalltalk.TestCase)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aBlock) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    smalltalk.send(self, "_assert_", [smalltalk.send(aBlock, "_value", [])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aBlock"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "should: aBlock\x0a\x09self assert: aBlock value", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["assert:", "value"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -208,15 +214,11 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "should:raise:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'testing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aBlock,anExceptionClass){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { _st(self)._assert_(_st((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(aBlock)._value(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}))._on_do_(anExceptionClass,(function(ex){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "should:raise:", [aBlock,anExceptionClass], smalltalk.TestCase)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aBlock, anExceptionClass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    smalltalk.send(self, "_assert_", [smalltalk.send(function () {smalltalk.send(aBlock, "_value", []);return false;}, "_on_do_", [anExceptionClass, function (ex) {return true;}])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aBlock", "anExceptionClass"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "should: aBlock raise: anExceptionClass\x0a\x09self assert: ([aBlock value. false] \x0a\x09\x09on: anExceptionClass \x0a\x09\x09do: [:ex | true])", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["assert:", "on:do:", "value"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -229,15 +231,11 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "shouldnt:raise:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'testing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aBlock,anExceptionClass){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { _st(self)._assert_(_st((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(aBlock)._value(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}))._on_do_(anExceptionClass,(function(ex){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "shouldnt:raise:", [aBlock,anExceptionClass], smalltalk.TestCase)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aBlock, anExceptionClass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    smalltalk.send(self, "_assert_", [smalltalk.send(function () {smalltalk.send(aBlock, "_value", []);return true;}, "_on_do_", [anExceptionClass, function (ex) {return false;}])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aBlock", "anExceptionClass"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "shouldnt: aBlock raise: anExceptionClass\x0a\x09self assert: ([aBlock value. true] \x0a\x09\x09on: anExceptionClass \x0a\x09\x09do: [:ex | false])", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["assert:", "on:do:", "value"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -250,13 +248,14 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "signalFailure:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'private', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aString){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { var $1,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st((smalltalk.TestFailure || TestFailure))._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._messageText_(aString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st($1)._signal(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "signalFailure:", [aString], smalltalk.TestCase)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aString) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var $1, $2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $1 = smalltalk.send(smalltalk.TestFailure || TestFailure, "_new", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    smalltalk.send($1, "_messageText_", [aString]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $2 = smalltalk.send($1, "_signal", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aString"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "signalFailure: aString\x0a\x09TestFailure new\x0a\x09\x09messageText: aString;\x0a\x09\x09signal", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["messageText:", "new", "signal"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -269,9 +268,10 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "tearDown", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'running', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { return self}, self, "tearDown", [], smalltalk.TestCase)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "tearDown", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -285,17 +285,17 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "allTestSelectors", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var selectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selectors=_st(self)._testSelectors(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(self)._shouldInheritSelectors(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(smalltalk.assert($1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(selectors)._addAll_(_st(_st(self)._superclass())._allTestSelectors()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return selectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "allTestSelectors", [], smalltalk.TestCase.klass)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var selectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    selectors = smalltalk.send(self, "_testSelectors", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $1 = smalltalk.send(self, "_shouldInheritSelectors", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (smalltalk.assert($1)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        smalltalk.send(selectors, "_addAll_", [smalltalk.send(smalltalk.send(self, "_superclass", []), "_allTestSelectors", [])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return selectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "allTestSelectors\x0a\x09| selectors |\x0a\x09selectors := self testSelectors.\x0a\x09self shouldInheritSelectors ifTrue: [\x0a\x09\x09selectors addAll: self superclass allTestSelectors].\x0a\x09^selectors", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["testSelectors", "ifTrue:", "addAll:", "allTestSelectors", "superclass", "shouldInheritSelectors"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -308,14 +308,12 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "buildSuite", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(_st(self)._allTestSelectors())._collect_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(self)._selector_(each); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "buildSuite", [], smalltalk.TestCase.klass)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $1 = smalltalk.send(smalltalk.send(self, "_allTestSelectors", []), "_collect_", [function (each) {return smalltalk.send(self, "_selector_", [each]);}]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "buildSuite\x0a\x09^self allTestSelectors collect: [:each | self selector: each]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["collect:", "selector:", "allTestSelectors"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -328,12 +326,12 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "isAbstract", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'testing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(_st(self)._name()).__eq("TestCase"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "isAbstract", [], smalltalk.TestCase.klass)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $1 = smalltalk.send(smalltalk.send(self, "_name", []), "__eq", ["TestCase"]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "isAbstract\x0a\x09^ self name = 'TestCase'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["=", "name"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -346,10 +344,10 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "lookupHierarchyRoot", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { return (smalltalk.TestCase || TestCase); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "lookupHierarchyRoot", [], smalltalk.TestCase.klass)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return smalltalk.TestCase || TestCase; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "lookupHierarchyRoot\x0a\x09^TestCase", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -362,15 +360,15 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "selector:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aSelector){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { var $2,$3,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st(self)._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($2)._setTestSelector_(aSelector); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st($2)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "selector:", [aSelector], smalltalk.TestCase.klass)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aSelector) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var $2, $3, $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $2 = smalltalk.send(self, "_new", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    smalltalk.send($2, "_setTestSelector_", [aSelector]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $3 = smalltalk.send($2, "_yourself", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $1 = $3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aSelector"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "selector: aSelector\x0a\x09^self new\x0a\x09\x09setTestSelector: aSelector;\x0a\x09\x09yourself", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["setTestSelector:", "new", "yourself"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -383,12 +381,12 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "shouldInheritSelectors", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'testing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(self).__tild_eq(_st(self)._lookupHierarchyRoot()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "shouldInheritSelectors", [], smalltalk.TestCase.klass)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $1 = smalltalk.send(self, "_~_eq", [smalltalk.send(self, "_lookupHierarchyRoot", [])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "shouldInheritSelectors\x0a\x09^self ~= self lookupHierarchyRoot", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["~=", "lookupHierarchyRoot"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -401,14 +399,12 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "testSelectors", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(_st(_st(self)._methodDictionary())._keys())._select_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(each)._match_("^test"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "testSelectors", [], smalltalk.TestCase.klass)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $1 = smalltalk.send(smalltalk.send(smalltalk.send(self, "_methodDictionary", []), "_keys", []), "_select_", [function (each) {return smalltalk.send(each, "_match_", ["^test"]);}]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "testSelectors\x0a\x09^self methodDictionary keys select: [:each | each match: '^test']", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["select:", "match:", "keys", "methodDictionary"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -426,10 +422,11 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "addError:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (anError){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { _st(_st(self)._errors())._add_(anError); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "addError:", [anError], smalltalk.TestResult)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (anError) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    smalltalk.send(smalltalk.send(self, "_errors", []), "_add_", [anError]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["anError"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "addError: anError\x0a\x09self errors add: anError", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["add:", "errors"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -442,10 +439,11 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "addFailure:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aFailure){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { _st(_st(self)._failures())._add_(aFailure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "addFailure:", [aFailure], smalltalk.TestResult)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aFailure) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    smalltalk.send(smalltalk.send(self, "_failures", []), "_add_", [aFailure]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aFailure"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "addFailure: aFailure\x0a\x09self failures add: aFailure", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["add:", "failures"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -458,10 +456,10 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "errors", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { return self["@errors"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "errors", [], smalltalk.TestResult)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self['@errors']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "errors\x0a\x09^errors", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -474,10 +472,10 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "failures", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { return self["@failures"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "failures", [], smalltalk.TestResult)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self['@failures']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "failures\x0a\x09^failures", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -490,10 +488,11 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "increaseRuns", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { self["@runs"]=_st(self["@runs"]).__plus((1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "increaseRuns", [], smalltalk.TestResult)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    self['@runs'] = smalltalk.send(self['@runs'], "__plus", [1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "increaseRuns\x0a\x09runs := runs + 1", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["+"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -506,15 +505,16 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "initialize", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'initialization', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { smalltalk.Object.fn.prototype._initialize.apply(_st(self), []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self["@timestamp"]=_st((smalltalk.Date || Date))._now(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self["@runs"]=(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self["@errors"]=_st((smalltalk.Array || Array))._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self["@failures"]=_st((smalltalk.Array || Array))._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self["@total"]=(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "initialize", [], smalltalk.TestResult)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    smalltalk.send(self, "_initialize", [], smalltalk.Object); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    self['@timestamp'] = smalltalk.send(smalltalk.Date || Date, "_now", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    self['@runs'] = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    self['@errors'] = smalltalk.send(smalltalk.Array || Array, "_new", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    self['@failures'] = smalltalk.send(smalltalk.Array || Array, "_new", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    self['@total'] = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "initialize\x0a\x09super initialize.\x0a\x09timestamp := Date now.\x0a\x09runs := 0.\x0a\x09errors := Array new.\x0a\x09failures := Array new.\x0a\x09total := 0", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["initialize", "now", "new"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -529,13 +529,13 @@ selector: "nextRunDo:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'running', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aBlock){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { var $2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st(_st(self)._runs()).__eq_eq(_st(self)._total()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=smalltalk.send(smalltalk.send(self,"_runs",[]),"__eq_eq",[smalltalk.send(self,"_total",[])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(! smalltalk.assert($2)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(aBlock)._value_(_st(_st(self)._runs()).__plus((1))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=smalltalk.send(aBlock,"_value_",[smalltalk.send(smalltalk.send(self,"_runs",[]),"__plus",[(1)])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "nextRunDo:", [aBlock], smalltalk.TestResult)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aBlock"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "nextRunDo: aBlock\x0a\x22Runs aBlock with index of next run\x0aor does nothing if no more runs\x22\x0a^self runs == self total\x0a\x09ifFalse: [ aBlock value: self runs + 1 ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["ifFalse:", "value:", "+", "runs", "==", "total"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -550,17 +550,17 @@ selector: "runCase:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'running', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aTestCase){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { _st((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self)._increaseRuns(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(aTestCase)._runCase(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}))._on_do_((smalltalk.TestFailure || TestFailure),(function(ex){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(self)._addFailure_(aTestCase); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}))._on_do_((smalltalk.Error || Error),(function(ex){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(self)._addError_(aTestCase); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "runCase:", [aTestCase], smalltalk.TestResult)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.send((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.send((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.send(self,"_increaseRuns",[]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.send(aTestCase,"_runCase",[]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}),"_on_do_",[(smalltalk.TestFailure || TestFailure),(function(ex){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.send(self,"_addFailure_",[aTestCase]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+})]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}),"_on_do_",[(smalltalk.Error || Error),(function(ex){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.send(self,"_addError_",[aTestCase]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+})]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aTestCase"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "runCase: aTestCase\x0a\x09[[\x09self increaseRuns.\x0a    \x09aTestCase runCase]\x0a\x09on: TestFailure do: [:ex | self addFailure: aTestCase]]\x0a\x09on: Error do: [:ex | self addError: aTestCase]\x0a", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["on:do:", "addError:", "addFailure:", "increaseRuns", "runCase"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -573,10 +573,10 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "runs", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { return self["@runs"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "runs", [], smalltalk.TestResult)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self['@runs']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "runs\x0a\x09^runs", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -589,22 +589,22 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "status", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { var $2,$3,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st(_st(self)._errors())._isEmpty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(smalltalk.assert($2)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st(_st(self)._failures())._isEmpty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(smalltalk.assert($3)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1="success"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1="failure"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1="error"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "status", [], smalltalk.TestResult)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var $2, $3, $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $2 = smalltalk.send(smalltalk.send(self, "_errors", []), "_isEmpty", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (smalltalk.assert($2)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $3 = smalltalk.send(smalltalk.send(self, "_failures", []), "_isEmpty", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (smalltalk.assert($3)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $1 = "success"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $1 = "failure"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $1 = "error"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "status\x0a\x09^self errors isEmpty \x0a\x09\x09ifTrue: [\x0a\x09\x09\x09self failures isEmpty \x0a\x09\x09\x09\x09ifTrue: ['success']\x0a\x09\x09\x09\x09ifFalse: ['failure']]\x0a\x09\x09ifFalse: ['error']", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["ifTrue:ifFalse:", "isEmpty", "failures", "errors"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -617,10 +617,10 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "timestamp", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { return self["@timestamp"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "timestamp", [], smalltalk.TestResult)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self['@timestamp']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "timestamp\x0a\x09^timestamp", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -633,10 +633,10 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "total", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { return self["@total"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "total", [], smalltalk.TestResult)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self['@total']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "total\x0a\x09^total", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -649,10 +649,11 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "total:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aNumber){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { self["@total"]=aNumber; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "total:", [aNumber], smalltalk.TestResult)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aNumber) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    self['@total'] = aNumber; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aNumber"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "total: aNumber\x0a\x09total := aNumber", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -670,8 +671,8 @@ selector: "announcer", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { return self["@announcer"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "announcer", [], smalltalk.TestSuiteRunner)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self["@announcer"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "announcer\x0a\x09^announcer", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -686,10 +687,10 @@ selector: "initialize", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'initialization', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { smalltalk.Object.fn.prototype._initialize.apply(_st(self), []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self["@announcer"]=_st((smalltalk.Announcer || Announcer))._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self["@result"]=_st((smalltalk.TestResult || TestResult))._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "initialize", [], smalltalk.TestSuiteRunner)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.send(self,"_initialize",[],smalltalk.Object); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self["@announcer"]=smalltalk.send((smalltalk.Announcer || Announcer),"_new",[]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self["@result"]=smalltalk.send((smalltalk.TestResult || TestResult),"_new",[]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "initialize\x0a\x09super initialize.\x0a\x09announcer := Announcer new.\x0a    result := TestResult new", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["initialize", "new"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -704,8 +705,8 @@ selector: "result", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { return self["@result"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "result", [], smalltalk.TestSuiteRunner)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self["@result"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "result\x0a\x09^result", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -720,26 +721,24 @@ selector: "run", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { var worker; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self["@result"])._total_(_st(self["@suite"])._size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self["@announcer"])._announce_(_st(_st((smalltalk.ResultAnnouncement || ResultAnnouncement))._new())._result_(self["@result"])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var worker; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.send(self["@result"],"_total_",[smalltalk.send(self["@suite"],"_size",[])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.send(self["@announcer"],"_announce_",[smalltalk.send(smalltalk.send((smalltalk.ResultAnnouncement || ResultAnnouncement),"_new",[]),"_result_",[self["@result"]])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 worker=(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(self["@result"])._nextRunDo_((function(index){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(self["@result"])._runCase_(_st(self["@suite"])._at_(index)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}))._ensure_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(worker)._valueWithTimeout_((0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(self["@announcer"])._announce_(_st(_st((smalltalk.ResultAnnouncement || ResultAnnouncement))._new())._result_(self["@result"])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.send(self["@result"],"_nextRunDo_",[(function(index){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.send((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.send(self["@result"],"_runCase_",[smalltalk.send(self["@suite"],"_at_",[index])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}),"_ensure_",[(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.send(worker,"_fork",[]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.send(self["@announcer"],"_announce_",[smalltalk.send(smalltalk.send((smalltalk.ResultAnnouncement || ResultAnnouncement),"_new",[]),"_result_",[self["@result"]])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+})]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+})]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(_st(_st(self["@suite"])._size())._min_((25)))._timesRepeat_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(worker)._valueWithTimeout_((0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "run", [], smalltalk.TestSuiteRunner)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.send(worker,"_fork",[]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "run\x0a\x09| worker |\x0a\x09result total: suite size.\x0a    announcer announce: (ResultAnnouncement new result: result).\x0a    worker := [ result nextRunDo: [ :index |\x0a\x09\x09[ result runCase: (suite at: index) ]\x0a\x09\x09ensure: [ worker valueWithTimeout: 0.\x0a        \x09announcer announce: (ResultAnnouncement new result: result) ]]].\x0a\x09(suite size min: 25) timesRepeat: [ worker valueWithTimeout: 0 ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["total:", "size", "announce:", "result:", "new", "nextRunDo:", "ensure:", "valueWithTimeout:", "runCase:", "at:", "timesRepeat:", "min:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "run\x0a\x09| worker |\x0a\x09result total: suite size.\x0a    announcer announce: (ResultAnnouncement new result: result).\x0a    worker := [ result nextRunDo: [ :index |\x0a\x09\x09[ result runCase: (suite at: index) ]\x0a\x09\x09ensure: [ worker fork.\x0a        \x09announcer announce: (ResultAnnouncement new result: result) ]]].\x0a\x09worker fork", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["total:", "size", "announce:", "result:", "new", "nextRunDo:", "ensure:", "fork", "runCase:", "at:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["ResultAnnouncement"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.TestSuiteRunner); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -751,8 +750,8 @@ selector: "suite:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aCollection){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { self["@suite"]=aCollection; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "suite:", [aCollection], smalltalk.TestSuiteRunner)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self["@suite"]=aCollection; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aCollection"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "suite: aCollection\x0a\x09suite := aCollection", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -768,8 +767,8 @@ selector: "new", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'instance creation', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { _st(self)._shouldNotImplement(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "new", [], smalltalk.TestSuiteRunner.klass)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.send(self,"_shouldNotImplement",[]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "new\x0a\x09self shouldNotImplement", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["shouldNotImplement"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -784,10 +783,10 @@ selector: "on:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'instance creation', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aCollection){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx) { var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(smalltalk.Object.klass.fn.prototype._new.apply(_st(self), []))._suite_(aCollection); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=smalltalk.send(smalltalk.send(self,"_new",[],smalltalk.Object.klass),"_suite_",[aCollection]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "on:", [aCollection], smalltalk.TestSuiteRunner.klass)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aCollection"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "on: aCollection\x0a\x09^super new suite: aCollection", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["suite:", "new"], 
			 |