pyjnius/tests/test_inheritance.py

79 lines
2.6 KiB
Python

def test_methodcalls():
from jnius import autoclass
Parent = autoclass('org.jnius.Parent')
Child = autoclass('org.jnius.Child')
child = Child.newInstance()
parent = Parent.newInstance()
assert parent.doCall(parent) == 0
assert child.doCall(0) == 1
assert child.doCall(child) == 0
def test_fields():
from jnius import autoclass
Parent = autoclass('org.jnius.Parent')
Child = autoclass('org.jnius.Child')
child = Child.newInstance()
parent = Parent.newInstance()
assert parent.PARENT_FIELD == 0
assert child.CHILD_FIELD == 1
assert child.PARENT_FIELD == 0
def test_staticfields():
from jnius import autoclass
Parent = autoclass('org.jnius.Parent')
Child = autoclass('org.jnius.Child')
child = Child.newInstance()
parent = Parent.newInstance()
assert Parent.STATIC_PARENT_FIELD == 1
assert Parent.StaticGetParentStaticField() == 1
assert Child.STATIC_PARENT_FIELD == 1
assert Child.StaticGetParentStaticField() == 1
assert parent.STATIC_PARENT_FIELD == 1
assert child.STATIC_PARENT_FIELD == 1
assert parent.StaticGetParentStaticField() == 1
assert child.StaticGetParentStaticField() == 1
assert parent.getParentStaticField() == 1
assert child.getParentStaticField() == 1
# now test setting in parent
Parent.STATIC_PARENT_FIELD = 5
assert parent.STATIC_PARENT_FIELD == 5
assert Child.STATIC_PARENT_FIELD == 5
assert child.STATIC_PARENT_FIELD == 5
assert Parent.StaticGetParentStaticField() == 5
assert Child.StaticGetParentStaticField() == 5
assert parent.StaticGetParentStaticField() == 5
assert child.StaticGetParentStaticField() == 5
assert parent.getParentStaticField() == 5
assert child.getParentStaticField() == 5
# now test setting in child
child.STATIC_PARENT_FIELD = 10
assert Child.STATIC_PARENT_FIELD == 10
assert child.STATIC_PARENT_FIELD == 10
assert Parent.STATIC_PARENT_FIELD == 10
assert parent.STATIC_PARENT_FIELD == 10
assert Parent.StaticGetParentStaticField() == 10
assert Child.StaticGetParentStaticField() == 10
assert parent.StaticGetParentStaticField() == 10
assert child.StaticGetParentStaticField() == 10
assert parent.getParentStaticField() == 10
assert child.getParentStaticField() == 10
def test_newinstance():
from jnius import autoclass
Parent = autoclass('org.jnius.Parent')
Child = autoclass('org.jnius.Child')
child = Child.newInstance()
assert isinstance(child, Child)
assert isinstance(child, Parent)
if __name__ == "__main__":
import jnius_config
#jnius_config.add_options('-Xcheck:jni')
test_staticfields()