experiments/StInJavaTests.st
author Stefan Vogel <sv@exept.de>
Tue, 08 Nov 2005 17:49:17 +0100
changeset 2121 7b06266d8249
parent 749 e898eaeff091
child 2152 1cbdfbcc685c
permissions -rw-r--r--
/tmp/cvsyRpZ5v

"{ Package: 'stx:libjava/experiments' }"

TestCase subclass:#StInJavaTests
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Languages-Java-Tests'
!


!StInJavaTests class methodsFor:'accessing'!

resources
    ^ Array with: StInJavaResource

    "Created: / 24-01-2011 / 17:21:47 / kursjan <kursjan@fit.cvut.cz>"
! !

!StInJavaTests methodsFor:'testing'!

_testIsKindOf
    self assertTrue: (StCounter new isKindOf: (Java classForName: 'Counter')).

    "Created: / 09-01-2011 / 13:21:17 / Jan Kurs <kurs.jan@post.cz>"
!

_testJavaCounter
    self shouldnt: [(Java classForName:'CounterManipulator') main:#() ] raise: Exception.

    "Created: / 09-01-2011 / 12:57:31 / Jan Kurs <kurs.jan@post.cz>"
    "Modified: / 09-01-2011 / 19:55:38 / Jan Kurs <kurs.jan@post.cz>"
    "Modified: / 24-01-2011 / 17:22:34 / kursjan <kursjan@fit.cvut.cz>"
!

_testJavaCounter2
    | counter |
    counter := (Java classForName:'Counter') new.
    self shouldnt: [(Java classForName:'CounterManipulator') new doSomething: counter ] raise: Exception.

    "Created: / 09-01-2011 / 12:57:55 / Jan Kurs <kurs.jan@post.cz>"
    "Modified: / 09-01-2011 / 14:02:59 / Jan Kurs <kurs.jan@post.cz>"
!

_testJavaCounter3
    | counter res |
    counter := (Java classForName:'Counter') new.
    res := (Java classForName:'CounterManipulator') new incCounter: counter.
    self assert: res = 1.
    res := (Java classForName:'CounterManipulator') new incCounter: counter.
    self assert: res = 2.

    "Created: / 09-01-2011 / 13:05:40 / Jan Kurs <kurs.jan@post.cz>"
!

_testJavaCounterWithStObject
    | counter |
    counter := StCounter new.
    (Java classForName:'CounterManipulator') new doSomething: counter.

    "Created: / 09-01-2011 / 12:58:09 / Jan Kurs <kurs.jan@post.cz>"
!

_testJavaCounterWithStObject2
    | counter res |
    counter := StCounter new.
    res := (Java classForName:'CounterManipulator') new incCounter: counter.
    self assert: res = 2

    "Created: / 09-01-2011 / 13:50:09 / Jan Kurs <kurs.jan@post.cz>"
!

_testStCounter
    | counter |
    counter := StCounter new.
    self assert: counter count  = 0.
    counter incCount.
    self assert: counter count = 2.

    "Created: / 09-01-2011 / 13:10:28 / Jan Kurs <kurs.jan@post.cz>"
!

_testStObjectJavaMethod
    | counter |
    counter := StCounter new.
    "#sayHello does not exists in StCounter - we have to call JavaMethod"
    self shouldnt: [(Java classForName:'CounterManipulator') new counterHello: counter ] raise: Exception.

    "Created: / 09-01-2011 / 13:54:44 / Jan Kurs <kurs.jan@post.cz>"
!

_testStObjectJavaMethod2
    | counter |
    counter := StCounter new.
    "#sayHello does not exists in StCounter - we have to call JavaMethod"
    self shouldnt: [(Java classForName:'CounterManipulator') new counterGreetings: counter ] raise: Exception.

    "Created: / 09-01-2011 / 14:11:20 / Jan Kurs <kurs.jan@post.cz>"
!

_testStObjectJavaMethod3
    | counter |
    counter := StCounter new.
    self assert: ((Java classForName:'CounterManipulator') new counterGreetings: counter) = 'Hi, this is Counter FROM JAVA'

    "Created: / 09-01-2011 / 14:16:41 / Jan Kurs <kurs.jan@post.cz>"
!

_testStObjectJavaMethod4
    | counter |
    counter := StCounter new.
    self shouldnt: [(Java classForName:'CounterManipulator') new 
            statelessIncCounterBy: counter with: 2
        ] raise: Exception.

    "Created: / 09-01-2011 / 14:50:14 / Jan Kurs <kurs.jan@post.cz>"
!

_testStObjectJavaMethod5
    | counter res |
    counter := StCounter new.
    res:= (Java classForName:'CounterManipulator') new 
            statelessIncCounterBy: counter with: 2.
    self assert: res = 4.

    "Created: / 09-01-2011 / 14:50:09 / Jan Kurs <kurs.jan@post.cz>"
!

_testStObjectSupersend
    | counter |
    counter := StIdentityCounter new.
    self shouldnt: [counter id] raise: Exception.

    "Created: / 09-01-2011 / 15:45:09 / Jan Kurs <kurs.jan@post.cz>"
!

_testStObjectSupersend2
    | counter |
    counter := StIdentityCounter new.
    self assert: (Java as_ST_String: counter id) = 'id#0'.
    counter incCount.
    self assert: (Java as_ST_String: counter id) = 'id#2'.

    "Created: / 09-01-2011 / 15:47:39 / Jan Kurs <kurs.jan@post.cz>"
!

_testStString
    | string res |
    string := StString fromString: 'hello'.
    res := (Java classForName:'StringManipulator') new repeatIt: string.
    self assert: res == string.

    "Modified: / 09-01-2011 / 21:58:53 / Jan Kurs <kurs.jan@post.cz>"
    "Modified: / 17-01-2011 / 12:16:39 / kursjan <kursjan@fit.cvut.cz>"
!

_testStString2
    | string res |
    string := StString fromString: 'hello'.
    res := (Java classForName:'StringManipulator') new hashOfHello.
    self assert: string hashCode = res.

    "Modified: / 09-01-2011 / 21:58:53 / Jan Kurs <kurs.jan@post.cz>"
    "Created: / 17-01-2011 / 12:15:54 / kursjan <kursjan@fit.cvut.cz>"
    "Modified: / 17-01-2011 / 16:43:56 / kursjan <kursjan@fit.cvut.cz>"
!

_testStString3
    | string res |
    string := StString fromString: 'hello'.
    res := (Java classForName:'StringManipulator') new className: string.
    self assert: 'java.lang.String' = res.

    "Modified: / 09-01-2011 / 21:58:53 / Jan Kurs <kurs.jan@post.cz>"
    "Created: / 17-01-2011 / 17:28:55 / kursjan <kursjan@fit.cvut.cz>"
    "Modified: / 17-01-2011 / 19:13:57 / kursjan <kursjan@fit.cvut.cz>"
! !

!StInJavaTests class methodsFor:'documentation'!

version_SVN
    ^ '$Id$'
! !