initial checkin
authorStefan Vogel <sv@exept.de>
Tue, 06 Apr 2004 15:30:39 +0200
changeset 241 5b8a5dd10628
parent 240 159685fc785c
child 242 43a9bab802ff
initial checkin
RegressionTests__ExceptionTest.st
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RegressionTests__ExceptionTest.st	Tue Apr 06 15:30:39 2004 +0200
@@ -0,0 +1,153 @@
+"{ Package: 'exept:regression' }"
+
+"{ NameSpace: RegressionTests }"
+
+TestCase subclass:#ExceptionTest
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'tests-Regression'
+!
+
+!ExceptionTest class methodsFor:'documentation'!
+
+documentation
+"
+    documentation to be added.
+
+    [author:]
+        Stefan Vogel (stefan@zwerg)
+
+    [instance variables:]
+
+    [class variables:]
+
+    [see also:]
+
+"
+! !
+
+!ExceptionTest methodsFor:'initialize / release'!
+
+setUp
+    "common setup - invoked before testing."
+
+    super setUp
+!
+
+tearDown
+    "common cleanup - invoked after testing."
+
+    super tearDown
+! !
+
+!ExceptionTest methodsFor:'tests'!
+
+test1
+
+    |result zero|
+
+    result := OrderedCollection new.
+    zero := 0.
+
+    [ 0 // zero ] on:ZeroDivide do:[:ex|
+        self assert:(ex signal == ZeroDivide).
+        self assert:(ex originator == 0).
+        result add:#Error 
+    ].
+    self assert:(result size == 1).
+    self assert:(result first == #Error).
+
+
+    "
+     self run:#test1
+     self new test1
+    "
+!
+
+test10
+
+    |result zero|
+
+    result := OrderedCollection new.
+    zero := 0.
+
+    [
+        [
+            Warning handle:[:ex | result add:#Warning ] do:[ 2 // zero ].
+        ] on:ZeroDivide do:[:ex |
+            result add:#Error.
+            ex reject.
+            [
+                self warn:ex description.
+            ] on:Warning do:[:ex| result add:#Warning2]
+        ]
+    ] on:ZeroDivide do:[:ex |
+        result add:#Error2
+    ].
+
+    self assert:(result size == 2).
+    self assert:(result first == #Error).
+    self assert:(result second == #Error2)
+
+    "
+     self run:#test10
+     self new test10
+    "
+!
+
+test2
+
+    |result zero|
+
+    result := OrderedCollection new.
+    zero := 0.
+
+    self should:[
+        [ 0 // zero ] on:ZeroDivide do:[:ex|
+            result add:#Error.
+            0 // zero
+        ].
+    ] raise:ZeroDivide.
+    self assert:(result size == 1).
+    self assert:(result first == #Error).
+
+
+    "
+     self run:#test2
+     self new test2
+    "
+!
+
+test3
+
+    |result zero|
+
+    result := OrderedCollection new.
+    zero := 0.
+
+    self should:[
+        [ 0 // zero ] on:ZeroDivide do:[:ex|
+            result add:#Error.
+            [ 0 // zero ] on:ZeroDivide do:[:ex|
+                result add:#Error1.
+                ex reject.
+            ].
+        ].
+    ] raise:ZeroDivide.
+    self assert:(result size == 2).
+    self assert:(result first == #Error).
+    self assert:(result second == #Error1).
+
+
+    "
+     self run:#test3
+     self new test3
+    "
+! !
+
+!ExceptionTest class methodsFor:'documentation'!
+
+version
+    ^ '$Header$'
+! !