*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Mon, 07 Aug 2006 12:59:21 +0200
changeset 131 86ad122e57f6
parent 130 0531085310fb
child 132 2d980116a3f5
*** empty log message ***
TestCase.st
--- a/TestCase.st	Mon Jul 17 13:28:11 2006 +0200
+++ b/TestCase.st	Mon Aug 07 12:59:21 2006 +0200
@@ -62,15 +62,26 @@
 
 allTestSelectors
 
-        ^ (self allSelectors select: [:each | 'test*' match: each]) asOrderedCollection sort
+        ^ (self allSelectors select: [:each | self isTestSelector:each]) asOrderedCollection sort
+
+    "Modified: / 06-08-2006 / 11:46:32 / cg"
 !
 
 forgetLastTestRunResult
     lastTestRunResultOrNil ~~ nil ifTrue:[
         lastTestRunResultOrNil := nil.
-        Smalltalk changed:#lastTestRunResult with:self.
+        Smalltalk changed:#lastTestRunResult with:(Array with:self with:nil).
         self changed:#lastTestRunResult.
     ]
+
+    "Modified: / 06-08-2006 / 11:40:07 / cg"
+!
+
+isTestSelector:aSelector
+
+        ^ 'test*' match: aSelector
+
+    "Created: / 06-08-2006 / 11:46:17 / cg"
 !
 
 lastTestRunResultOrNil
@@ -81,44 +92,77 @@
     lastTestRunsFailedTests isNil ifTrue:[
         lastTestRunsFailedTests := Set new.
     ].
-    lastTestRunsFailedTests add:selector.
+    
+    (lastTestRunsFailedTests includes:selector) not ifTrue:[
+        lastTestRunsFailedTests add:selector.
+        Smalltalk changed:#lastTestRunResult with:(Array with:self with:selector).
+        self changed:#lastTestRunResult with:selector.
+    ].
     self rememberFailedTestRun
+
+    "Modified: / 06-08-2006 / 11:01:08 / cg"
 !
 
 rememberFailedTestRun
     lastTestRunResultOrNil ~~ false ifTrue:[
         lastTestRunResultOrNil := false.
-        Smalltalk changed:#lastTestRunResult with:self.
+        Smalltalk changed:#lastTestRunResult with:(Array with:self with:nil).
         self changed:#lastTestRunResult.
     ]
+
+    "Modified: / 06-08-2006 / 11:00:42 / cg"
 !
 
 rememberFailedTestRunWithResult:result
     self rememberFailedTestRun.
-    (result failures union:result errors) do:[:eachFailedTest |
-        |sel|
+    self rememberFailedTestsFromResult:result.
+
+    "Modified: / 05-08-2006 / 12:45:19 / cg"
+!
 
-        sel := eachFailedTest selector.
-        self rememberFailedTest:sel.
+rememberFailedTestsFromResult:result
+    (result failures union:result errors) do:[:eachFailedTest |
+        self rememberFailedTest:(eachFailedTest selector).
     ].
+
+    "Created: / 05-08-2006 / 12:45:01 / cg"
+    "Modified: / 06-08-2006 / 10:54:31 / cg"
 !
 
 rememberPassedTest:selector
     lastTestRunsFailedTests notNil ifTrue:[
-        lastTestRunsFailedTests remove:selector ifAbsent:nil.
-        lastTestRunsFailedTests isEmpty ifTrue:[
-            lastTestRunsFailedTests := nil
-        ]
+        (lastTestRunsFailedTests includes:selector) ifTrue:[
+            lastTestRunsFailedTests remove:selector ifAbsent:nil.
+            Smalltalk changed:#lastTestRunResult with:(Array with:self with:selector).
+            self changed:#lastTestRunResult with:selector.
+            lastTestRunsFailedTests isEmpty ifTrue:[
+                lastTestRunsFailedTests := nil.
+                self forgetLastTestRunResult.
+            ].
+        ].
     ].
+
+    "Modified: / 06-08-2006 / 11:40:16 / cg"
 !
 
 rememberPassedTestRun
     lastTestRunResultOrNil ~~ true ifTrue:[
         lastTestRunResultOrNil := true.
         lastTestRunsFailedTests := nil.
-        Smalltalk changed:#lastTestRunResult with:self.
+        Smalltalk changed:#lastTestRunResult with:(Array with:self with:nil).
         self changed:#lastTestRunResult.
     ]
+
+    "Modified: / 06-08-2006 / 11:01:22 / cg"
+!
+
+rememberPassedTestsFromResult:result
+    (result passed) do:[:eachPassedTest |
+        self rememberPassedTest:(eachPassedTest selector).
+    ].
+
+    "Created: / 06-08-2006 / 10:29:47 / cg"
+    "Modified: / 06-08-2006 / 11:42:01 / cg"
 !
 
 resources
@@ -200,16 +244,23 @@
     ^ self name = #TestCase
 !
 
-runTests
-    |result|
-
-    result := self suite run.
-
+rememberResult:result
     result hasPassed ifTrue:[
         self rememberPassedTestRun
     ] ifFalse:[
         self rememberFailedTestRunWithResult:result
     ].
+
+    "Created: / 05-08-2006 / 12:33:08 / cg"
+!
+
+runTests
+    |result|
+
+    result := self suite run.
+    self rememberResult:result.
+
+    "Modified: / 05-08-2006 / 12:33:20 / cg"
 !
 
 shouldInheritSelectors
@@ -288,7 +339,9 @@
 assert: aBoolean description: aString
         aBoolean ifFalse: [
                 self logFailure: aString.
-                self signalFailure: aString]
+                self signalFailure: aString resumable:true]
+
+    "Modified: / 06-08-2006 / 22:56:27 / cg"
 !
 
 assert: aBoolean description: aString resumable: resumableBoolean 
@@ -304,9 +357,10 @@
 
     "check the testCase itself"
     (aBoolean isBoolean) ifFalse:[ self error:'non boolean assertion' ].
-    aBoolean ifFalse: [self signalFailure: messageIfFailing]
+    aBoolean ifFalse: [self signalFailure: messageIfFailing resumable:true]
 
-    "Modified: / 21.6.2000 / 10:00:05 / Sames"
+    "Modified: / 21-06-2000 / 10:00:05 / Sames"
+    "Modified: / 06-08-2006 / 22:56:21 / cg"
 !
 
 assertFalse:aBoolean
@@ -472,8 +526,12 @@
             errorString:aString
             in:thisContext sender sender
     ] ifFalse:[
-        TestResult failure raiseErrorString:aString in:thisContext sender sender
+        TestResult failure 
+            raiseErrorString:aString 
+            in:thisContext sender sender
     ].
+
+    "Modified: / 06-08-2006 / 22:55:55 / cg"
 !
 
 signalUnavailableResources
@@ -629,7 +687,7 @@
 !TestCase class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/goodies/sunit/TestCase.st,v 1.41 2006-02-20 10:28:55 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/goodies/sunit/TestCase.st,v 1.42 2006-08-07 10:59:21 cg Exp $'
 ! !
 
 TestCase initialize!