RegressionTests__ExceptionTest.st
changeset 241 5b8a5dd10628
child 349 8aeec57e44db
equal deleted inserted replaced
240:159685fc785c 241:5b8a5dd10628
       
     1 "{ Package: 'exept:regression' }"
       
     2 
       
     3 "{ NameSpace: RegressionTests }"
       
     4 
       
     5 TestCase subclass:#ExceptionTest
       
     6 	instanceVariableNames:''
       
     7 	classVariableNames:''
       
     8 	poolDictionaries:''
       
     9 	category:'tests-Regression'
       
    10 !
       
    11 
       
    12 !ExceptionTest class methodsFor:'documentation'!
       
    13 
       
    14 documentation
       
    15 "
       
    16     documentation to be added.
       
    17 
       
    18     [author:]
       
    19         Stefan Vogel (stefan@zwerg)
       
    20 
       
    21     [instance variables:]
       
    22 
       
    23     [class variables:]
       
    24 
       
    25     [see also:]
       
    26 
       
    27 "
       
    28 ! !
       
    29 
       
    30 !ExceptionTest methodsFor:'initialize / release'!
       
    31 
       
    32 setUp
       
    33     "common setup - invoked before testing."
       
    34 
       
    35     super setUp
       
    36 !
       
    37 
       
    38 tearDown
       
    39     "common cleanup - invoked after testing."
       
    40 
       
    41     super tearDown
       
    42 ! !
       
    43 
       
    44 !ExceptionTest methodsFor:'tests'!
       
    45 
       
    46 test1
       
    47 
       
    48     |result zero|
       
    49 
       
    50     result := OrderedCollection new.
       
    51     zero := 0.
       
    52 
       
    53     [ 0 // zero ] on:ZeroDivide do:[:ex|
       
    54         self assert:(ex signal == ZeroDivide).
       
    55         self assert:(ex originator == 0).
       
    56         result add:#Error 
       
    57     ].
       
    58     self assert:(result size == 1).
       
    59     self assert:(result first == #Error).
       
    60 
       
    61 
       
    62     "
       
    63      self run:#test1
       
    64      self new test1
       
    65     "
       
    66 !
       
    67 
       
    68 test10
       
    69 
       
    70     |result zero|
       
    71 
       
    72     result := OrderedCollection new.
       
    73     zero := 0.
       
    74 
       
    75     [
       
    76         [
       
    77             Warning handle:[:ex | result add:#Warning ] do:[ 2 // zero ].
       
    78         ] on:ZeroDivide do:[:ex |
       
    79             result add:#Error.
       
    80             ex reject.
       
    81             [
       
    82                 self warn:ex description.
       
    83             ] on:Warning do:[:ex| result add:#Warning2]
       
    84         ]
       
    85     ] on:ZeroDivide do:[:ex |
       
    86         result add:#Error2
       
    87     ].
       
    88 
       
    89     self assert:(result size == 2).
       
    90     self assert:(result first == #Error).
       
    91     self assert:(result second == #Error2)
       
    92 
       
    93     "
       
    94      self run:#test10
       
    95      self new test10
       
    96     "
       
    97 !
       
    98 
       
    99 test2
       
   100 
       
   101     |result zero|
       
   102 
       
   103     result := OrderedCollection new.
       
   104     zero := 0.
       
   105 
       
   106     self should:[
       
   107         [ 0 // zero ] on:ZeroDivide do:[:ex|
       
   108             result add:#Error.
       
   109             0 // zero
       
   110         ].
       
   111     ] raise:ZeroDivide.
       
   112     self assert:(result size == 1).
       
   113     self assert:(result first == #Error).
       
   114 
       
   115 
       
   116     "
       
   117      self run:#test2
       
   118      self new test2
       
   119     "
       
   120 !
       
   121 
       
   122 test3
       
   123 
       
   124     |result zero|
       
   125 
       
   126     result := OrderedCollection new.
       
   127     zero := 0.
       
   128 
       
   129     self should:[
       
   130         [ 0 // zero ] on:ZeroDivide do:[:ex|
       
   131             result add:#Error.
       
   132             [ 0 // zero ] on:ZeroDivide do:[:ex|
       
   133                 result add:#Error1.
       
   134                 ex reject.
       
   135             ].
       
   136         ].
       
   137     ] raise:ZeroDivide.
       
   138     self assert:(result size == 2).
       
   139     self assert:(result first == #Error).
       
   140     self assert:(result second == #Error1).
       
   141 
       
   142 
       
   143     "
       
   144      self run:#test3
       
   145      self new test3
       
   146     "
       
   147 ! !
       
   148 
       
   149 !ExceptionTest class methodsFor:'documentation'!
       
   150 
       
   151 version
       
   152     ^ '$Header$'
       
   153 ! !