348 lines
11 KiB
Python
Executable file
348 lines
11 KiB
Python
Executable file
#asd
|
|
import sys
|
|
|
|
print "Hello world using Jep."
|
|
|
|
#import os
|
|
#raw_input('gdb --pid=%s' % os.getpid())
|
|
|
|
from jep import *
|
|
|
|
from java.lang import *
|
|
from java.util import HashMap
|
|
from java.io import FileInputStream
|
|
|
|
def console(quit=True):
|
|
import console
|
|
console.prompt(testo.getJep())
|
|
if(quit):
|
|
raise RuntimeError, 'blah'
|
|
|
|
def testMethod(str):
|
|
print 'testMethod: ', str
|
|
return Integer(12)
|
|
|
|
#for i in (range(0, 10)):
|
|
if(__name__ == '__main__'):
|
|
|
|
# turn on stack traces
|
|
printStack(True)
|
|
|
|
i = 0
|
|
|
|
print 'sys.path: ', sys.path
|
|
print 'dir(jep): ', dir(jep)
|
|
|
|
print """
|
|
##################################################
|
|
# test parameters
|
|
##################################################
|
|
"""
|
|
print 'dir test object: ', dir(testo)
|
|
print 'test object: ', testo
|
|
print 'test parameter: ', test
|
|
print 'test int param: ', testi
|
|
print 'test bool param: ', testb
|
|
print 'test long param: ', testl
|
|
print 'double param: ', testd
|
|
print 'float param: ', testf
|
|
print 'test byte: ', testy
|
|
print 'test char: ', testc
|
|
print 'test null obj: ', testn
|
|
print 'test class obj: ', testz().toString()
|
|
|
|
print 'test b array: ', testab[1]
|
|
print 'test d array: ', testad[1]
|
|
|
|
print 'test b array: ', amod.testab[1]
|
|
print 'test d array: ', amod.testad[1]
|
|
|
|
print """
|
|
##################################################
|
|
# test method calling
|
|
##################################################
|
|
"""
|
|
print 'test callback: ', testo.callback()
|
|
print 'test toString: ', testo.toString()
|
|
print 'test getInt: ', testo.getInt()
|
|
print 'test getShort: ', testo.getShort()
|
|
print 'test getLong: ', testo.getLong()
|
|
print 'test getDouble: ', testo.getDouble()
|
|
print 'test getFloat: ', testo.getFloat()
|
|
print 'test getByte: ', testo.getByte()
|
|
print 'test getChar: ', testo.getChar()
|
|
print 'test getClass: ', testo.getClass()
|
|
integer = testo.getInteger()
|
|
print 'dir getInteger: ', dir(integer)
|
|
l = testo.getClassLong()
|
|
print 'dir getLong: ', dir(l)
|
|
print 'long value: ', l.longValue()
|
|
print 'integer value: ', integer.intValue()
|
|
print 'double value: ', testo.getClassDouble()
|
|
print 'float value: ', testo.getClassFloat()
|
|
|
|
jarrayList = testo.getObject()
|
|
print 'dir(jarrayList): ', dir(jarrayList)
|
|
print 'test getObject ', jarrayList.get(0)
|
|
jarrayList.add("list 1")
|
|
jarrayList.add("list 2")
|
|
it = jarrayList.iterator()
|
|
print 'dir(it) ', dir(it)
|
|
print 'it.hasNext() ', it.hasNext()
|
|
while it.hasNext():
|
|
next = it.next()
|
|
if(next.equals('list 1')):
|
|
print 'array parameter: ', next
|
|
|
|
print 'test send stuff ', testo.sendMeSomeStuff("an arraylist object",
|
|
jarrayList)
|
|
print 'test send stuff ', testo.sendMeSomeStuff(None, jarrayList)
|
|
|
|
print """
|
|
##################################################
|
|
# test constructors
|
|
##################################################
|
|
"""
|
|
print 'new Integer: ', Integer(12)
|
|
h = HashMap()
|
|
h.put('test', 'w00t')
|
|
print 'new HashMap: ', h
|
|
|
|
print 'new Boolean: ', Boolean(False)
|
|
print repr(Boolean)
|
|
|
|
s = String('tested new string')
|
|
print 'make jstring: ', s
|
|
#s2 = String(s.getBytes())
|
|
#print 'another string: ', s2
|
|
|
|
l = Long(123123123123123)
|
|
print 'make long: ', l
|
|
|
|
d = Double(132123.123123)
|
|
print 'make double: ', d
|
|
|
|
f = Float(123.123)
|
|
print 'make float: ', f
|
|
|
|
c = Character('j')
|
|
print 'make char: ', c
|
|
|
|
b = Byte(123)
|
|
print 'make byte: ', b
|
|
|
|
# *shrugs*
|
|
|
|
print """
|
|
##################################################
|
|
# test fields
|
|
##################################################
|
|
"""
|
|
print 'stringField: ', testo.stringField
|
|
print 'intField: ', testo.intField
|
|
print 'shortField: ', testo.shortField
|
|
print 'booleanField: ', testo.booleanField
|
|
print 'longField: ', testo.longField
|
|
print 'doubleField: ', testo.doubleField
|
|
print 'floatField: ', testo.floatField
|
|
print 'byteField: ', testo.byteField
|
|
print 'charField: ', testo.charField
|
|
print 'classField: ', testo.classField
|
|
|
|
testo.stringField = 'a new string for loop: %i' % (i)
|
|
testo.intField = i
|
|
testo.shortField = i
|
|
testo.booleanField = False
|
|
testo.longField = testo.longField * -1
|
|
testo.doubleField = 1223123.123
|
|
testo.floatField = 12312.122
|
|
testo.charField = 'j'
|
|
testo.byteField = 2
|
|
testo.classField = Integer
|
|
|
|
print 'stringField: ', testo.stringField
|
|
print 'intField: ', testo.intField
|
|
print 'shortField: ', testo.shortField
|
|
print 'booleanField: ', testo.booleanField
|
|
print 'longField: ', testo.longField
|
|
print 'doubleField: ', testo.doubleField
|
|
print 'floatField: ', testo.floatField
|
|
print 'byteField: ', testo.byteField
|
|
print 'charField: ', testo.charField
|
|
print 'classField: ', testo.classField
|
|
|
|
print """
|
|
##################################################
|
|
# test static fields
|
|
##################################################
|
|
"""
|
|
print 'staticString: ', testo.staticString
|
|
print 'staticInt: ', testo.staticInt
|
|
print 'staticShort: ', testo.staticShort
|
|
print 'staticBoolean: ', testo.staticBoolean
|
|
print 'staticLong: ', testo.staticLong
|
|
print 'staticDouble: ', testo.staticDouble
|
|
print 'staticFloat: ', testo.staticFloat
|
|
print 'staticChar: ', testo.staticChar
|
|
print 'staticByte: ', testo.staticByte
|
|
print 'staticClass: ', testo.staticClass
|
|
|
|
print ""
|
|
testo.staticString = 'a new string for loop: %i' % (i)
|
|
testo.staticInt = i
|
|
testo.staticShort = i
|
|
testo.staticBoolean = True
|
|
testo.staticLong = testo.staticLong * -1
|
|
testo.staticDouble = 123.12
|
|
testo.staticFloat = 123.123
|
|
testo.staticByte = testo.staticByte * 10
|
|
testo.staticChar = 'z'
|
|
testo.staticClass = Integer
|
|
|
|
Test = findClass('jep.Test')
|
|
print 'staticShort: ', Test.staticShort
|
|
print 'staticString: ', Test.staticString
|
|
print 'staticInt: ', Test.staticInt
|
|
print 'staticBoolean: ', Test.staticBoolean
|
|
print 'staticLong: ', Test.staticLong
|
|
print 'staticDouble: ', Test.staticDouble
|
|
print 'staticFloat: ', Test.staticFloat
|
|
print 'staticChar: ', Test.staticChar
|
|
print 'staticByte: ', Test.staticByte
|
|
print 'staticClass: ', Test.staticClass
|
|
|
|
Test.staticString = 'a new string for loop: %i' % (i)
|
|
Test.staticInt = i
|
|
Test.staticShort = i
|
|
Test.staticBoolean = True
|
|
Test.staticLong = Test.staticLong * -1
|
|
Test.staticDouble = 213239.990921221221
|
|
Test.staticFloat = 3.2121231
|
|
testo.staticByte = testo.staticByte * 10
|
|
testo.staticChar = 'a'
|
|
|
|
print 'staticString: ', Test.staticString
|
|
print 'staticInt: ', Test.staticInt
|
|
print 'staticShort: ', Test.staticShort
|
|
print 'staticBoolean: ', Test.staticBoolean
|
|
print 'staticLong: ', Test.staticLong
|
|
print 'staticDouble: ', Test.staticDouble
|
|
print 'staticFloat: ', Test.staticFloat
|
|
print 'staticChar: ', Test.staticChar
|
|
print 'staticByte: ', Test.staticByte
|
|
|
|
ii = Integer(12)
|
|
print 'int min value: ', ii.MIN_VALUE
|
|
print 'int min value: ', Integer.MIN_VALUE
|
|
|
|
print 'ii type: ', type(ii)
|
|
print 'Integer type: ', type(Integer)
|
|
|
|
print """
|
|
##################################################
|
|
# test static methods
|
|
##################################################
|
|
"""
|
|
print 'staticString: ', testo.getStaticString()
|
|
print 'staticBoolean: ', testo.getStaticBoolean()
|
|
print 'staticInt: ', testo.getStaticInt()
|
|
print 'staticShort: ', testo.getStaticShort()
|
|
print 'staticObject: ', testo.getStaticObject()
|
|
print 'staticVoid: ', testo.callStaticVoid()
|
|
print 'staticLong: ', testo.getStaticLong()
|
|
print 'staticDouble: ', testo.getStaticDouble()
|
|
print 'staticFloat: ', testo.getStaticFloat()
|
|
print 'staticByte: ', testo.getStaticByte()
|
|
print 'staticChar: ', testo.getStaticChar()
|
|
print 'staticClass: ', testo.getStaticClass()
|
|
|
|
print """
|
|
##################################################
|
|
# test exceptions
|
|
##################################################
|
|
"""
|
|
# exceptions are *slow*... you wouldn't want to do much of this
|
|
# in a real environment.
|
|
try:
|
|
print '12: ', Integer(12).intValue()
|
|
Integer.parseInt('asdf')
|
|
except(jep.NumberFormatException):
|
|
print 'parseInt: caught NumberFormatException'
|
|
|
|
try:
|
|
fin = FileInputStream('asdf')
|
|
fin.close()
|
|
except(jep.FileNotFoundException):
|
|
print 'inputStream: caught FileNotFoundException'
|
|
|
|
try:
|
|
print 'Integer = ', Integer.toString()
|
|
except:
|
|
print 'fixed'
|
|
|
|
System.out.println("regression test.")
|
|
|
|
try:
|
|
Integer.byteValue()
|
|
except:
|
|
print 'regression: no crash yet'
|
|
#raise TypeError, 'test'
|
|
|
|
print """
|
|
##################################################
|
|
# array handling
|
|
##################################################
|
|
"""
|
|
|
|
# just for fun
|
|
fin = FileInputStream("configure")
|
|
ar = jarray(20, JBYTE_ID)
|
|
count = fin.read(ar)
|
|
|
|
# strip any other lines, just want first
|
|
if(10 in ar):
|
|
count = ar.index(10)
|
|
ar = ar[0:count]
|
|
print 'configure starts ', String(ar, 0, count)
|
|
fin.close()
|
|
|
|
# array handling
|
|
ar = testo.getStringArray()
|
|
print 'string[] len: ', len(ar)
|
|
print '[0], [1], [2]: ', ar[0], ar[1], ar[2]
|
|
ar[0] = "new"
|
|
ar[1] = None
|
|
print '[0], [1]: ', ar[0], ar[1]
|
|
|
|
print 'sending: '
|
|
testo.sendObjectArray(ar)
|
|
|
|
ar = testo.getStringStringArray()
|
|
print 'string[][]: ', len(ar)
|
|
print '[0][1]: ', ar[0][1]
|
|
|
|
ar = testo.getObjectArray()
|
|
print 'object array: ', len(ar)
|
|
print '[0], [1]: ', ar[0], ar[1]
|
|
ar[1] = None
|
|
print '[0], [1]: ', ar[0], ar[1]
|
|
|
|
ar = testo.getIntArray()
|
|
print 'int array[0]: ', ar[0]
|
|
ar[0] -= 100
|
|
print 'sending: ', repr(ar)
|
|
testo.sendIntArray(ar)
|
|
|
|
ar = testo.getBooleanArray()
|
|
print 'bool array[1]: ', ar[1]
|
|
|
|
ar = testo.getShortArray()
|
|
print 'short [1]: ', ar[1]
|
|
|
|
ar = testo.getFloatArray()
|
|
print 'float[0]: ', ar[0]
|
|
|
|
print 'Float max: ', Float.MAX_VALUE
|
|
testb = True
|
|
|
|
print 'python loop %i finished.' % (i)
|