MethodOverridesTest.st
branchjv
changeset 17774 479c4d02ad58
parent 17773 762eb3e60c17
child 17775 90a5bae0a710
equal deleted inserted replaced
17773:762eb3e60c17 17774:479c4d02ad58
     1 "{ Package: 'stx:libbasic' }"
       
     2 
       
     3 TestCase subclass:#MethodOverridesTest
       
     4 	instanceVariableNames:''
       
     5 	classVariableNames:''
       
     6 	poolDictionaries:''
       
     7 	category:'Kernel-Tests'
       
     8 !
       
     9 
       
    10 
       
    11 !MethodOverridesTest methodsFor:'initialization & release'!
       
    12 
       
    13 tearDown
       
    14 
       
    15     #(methodToBeOverriden_1) do:
       
    16         [:sel|
       
    17         (self respondsTo: sel) ifTrue:
       
    18             [self class removeSelector: sel]].
       
    19 
       
    20     "Created: / 17-06-2009 / 19:36:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
    21 ! !
       
    22 
       
    23 !MethodOverridesTest methodsFor:'tests'!
       
    24 
       
    25 test_01
       
    26 
       
    27     | oldMethod newMethod |
       
    28     '"{ Package: ''stx:libbasic'' }"
       
    29     !!
       
    30     !!MethodOverridesTest methodsFor:''mock methods''!!
       
    31 
       
    32     methodToBeOverriden_1
       
    33         ^0
       
    34         !! !!' readStream fileIn.
       
    35     oldMethod := self class compiledMethodAt:#methodToBeOverriden_1.
       
    36     self assert: self methodToBeOverriden_1 = 0.
       
    37 
       
    38 
       
    39     '"{ Package: ''stx:goodies/sunit'' }"
       
    40     !!
       
    41     !!MethodOverridesTest methodsFor:''mock methods''!!
       
    42 
       
    43     methodToBeOverriden_1
       
    44         ^1
       
    45     !! !!' readStream fileIn.
       
    46 
       
    47     self assert: self methodToBeOverriden_1 = 1.
       
    48     newMethod := self class compiledMethodAt:#methodToBeOverriden_1.
       
    49 
       
    50     self assert: newMethod overridenMethod == oldMethod.
       
    51 
       
    52     "Created: / 17-06-2009 / 19:27:23 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
    53 ! !
       
    54 
       
    55 !MethodOverridesTest class methodsFor:'documentation'!
       
    56 
       
    57 version
       
    58     ^'$Id$'
       
    59 ! !