src/JavaRefTests.st
author hlopkmar
Thu, 12 May 2011 14:28:39 +0000
branchjk_new_structure
changeset 773 ff7dbe5581a3
parent 764 3c1d3f2d29a5
child 877 f5a5b93e1c78
permissions -rw-r--r--
cleaned tests class hierarchy, small fixes

"{ Package: 'stx:libjava' }"

AbstractJavaTestCase subclass:#JavaRefTests
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Languages-Java-Tests-RuntimeConstantPool'
!


!JavaRefTests methodsFor:'javaRef tests'!

testCorrectInstanceCreation
    | javaRef |

    javaRef := JavaRef2 new.
    self assertFalse: (javaRef isResolved).
    self assertTrue: (javaRef valueCache isNil).
    self should: [ javaRef resolve ] raise: SubclassResponsibilityError.
    self should: [ javaRef resolveStatic ] raise: SubclassResponsibilityError.

    "Created: / 08-04-2011 / 11:40:25 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
    "Modified: / 26-04-2011 / 13:21:14 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
!

testMockedInvalidating
    | javaRefMock |

    javaRefMock := JavaRefMock new.
    self assertFalse: (javaRefMock isResolved).
    self assertTrue: (javaRefMock valueCache isNil).
    self assertTrue: (javaRefMock resolve = 'ok').
    self assertTrue: (javaRefMock isResolved).
    javaRefMock invalidate.
    self assertFalse: (javaRefMock isResolved).
    self assertTrue: (javaRefMock valueCache isNil).
    self assertTrue: (javaRefMock resolveStatic = 'static').
    self assertTrue: (javaRefMock isResolved).
    javaRefMock invalidate.
    self assertFalse: (javaRefMock isResolved).
        self assertTrue: (javaRefMock valueCache isNil).

    "Created: / 08-04-2011 / 11:50:35 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
    "Modified: / 26-04-2011 / 13:21:51 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
!

testMockedInvalidatingForClassNegative
    | javaRefMock |

    javaRefMock := JavaRefMock new.
    self assertTrue: (javaRefMock isResolved not).
    javaRefMock resolve.
    self assertTrue: (javaRefMock isResolved).
    javaRefMock invalidateForClass: 'Ljava/lang/String;'.
    self assertTrue: (javaRefMock isResolved).
    javaRefMock invalidate.
    self assertTrue: (javaRefMock isResolved not).
    javaRefMock resolveStatic.
    self assertTrue: (javaRefMock isResolved).
    javaRefMock invalidateForClass: 'Ljava/lang/String;'.
    self assertTrue: (javaRefMock isResolved).

    "Created: / 08-04-2011 / 16:19:13 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
    "Modified: / 26-04-2011 / 13:22:46 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
!

testMockedInvalidatingForClassPositive
    | javaRefMock |

    javaRefMock := JavaRefMock new.
    self assertTrue: (javaRefMock isResolved not).
    javaRefMock resolve.
    self assertTrue: (javaRefMock isResolved).
    javaRefMock invalidateForClass: 'mock'.
    self assertTrue: (javaRefMock isResolved not).
    javaRefMock resolveStatic.
    self assertTrue: (javaRefMock isResolved).
    javaRefMock invalidateForClass: 'mock'.
        self assertTrue: (javaRefMock isResolved not).

    "Created: / 08-04-2011 / 16:19:52 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
    "Modified: / 26-04-2011 / 13:23:13 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
!

testMockedResolving
    | javaRefMock |

    javaRefMock := JavaRefMock new.
    self assertFalse: (javaRefMock isResolved).
    self assertTrue: (javaRefMock valueCache isNil).
    self assertTrue: (javaRefMock resolve = 'ok').
    self assertTrue: (javaRefMock isResolved).

    "Created: / 08-04-2011 / 11:47:27 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
!

testMockedResolvingStatic
    | javaRefMock |

    javaRefMock := JavaRefMock new.
    self assertFalse: (javaRefMock isResolved).
    self assertTrue: (javaRefMock valueCache isNil).
    self assertTrue: (javaRefMock resolveStatic = 'static').
    self assertTrue: (javaRefMock isResolved).

    "Created: / 26-04-2011 / 13:23:31 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
! !

!JavaRefTests class methodsFor:'documentation'!

version_SVN
    ^ '$Id$'
! !