pyjnius/tests/test_inheritance.py

79 lines
2.6 KiB
Python
Raw Normal View History

2020-04-07 15:04:32 +00:00
def test_methodcalls():
from jnius import autoclass
Parent = autoclass('org.jnius.Parent')
Child = autoclass('org.jnius.Child')
2020-04-07 15:04:32 +00:00
child = Child.newInstance()
parent = Parent.newInstance()
assert parent.doCall(parent) == 0
assert child.doCall(0) == 1
assert child.doCall(child) == 0
2020-04-07 15:04:32 +00:00
def test_fields():
from jnius import autoclass
2020-04-07 15:04:32 +00:00
Parent = autoclass('org.jnius.Parent')
Child = autoclass('org.jnius.Child')
child = Child.newInstance()
2020-04-07 15:04:32 +00:00
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
2020-04-19 17:02:45 +00:00
assert Parent.StaticGetParentStaticField() == 1
assert Child.STATIC_PARENT_FIELD == 1
2020-04-19 17:02:45 +00:00
assert Child.StaticGetParentStaticField() == 1
assert parent.STATIC_PARENT_FIELD == 1
assert child.STATIC_PARENT_FIELD == 1
2020-04-19 17:02:45 +00:00
assert parent.StaticGetParentStaticField() == 1
assert child.StaticGetParentStaticField() == 1
assert parent.getParentStaticField() == 1
assert child.getParentStaticField() == 1
2020-04-19 17:02:45 +00:00
# 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
2020-04-19 17:02:45 +00:00
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
2020-04-19 17:02:45 +00:00
assert Parent.StaticGetParentStaticField() == 10
assert Child.StaticGetParentStaticField() == 10
assert parent.StaticGetParentStaticField() == 10
assert child.StaticGetParentStaticField() == 10
assert parent.getParentStaticField() == 10
assert child.getParentStaticField() == 10
2020-04-07 15:04:32 +00:00
def test_newinstance():
from jnius import autoclass
2020-04-07 15:04:32 +00:00
Parent = autoclass('org.jnius.Parent')
Child = autoclass('org.jnius.Child')
child = Child.newInstance()
assert isinstance(child, Child)
assert isinstance(child, Parent)
2020-04-07 15:04:32 +00:00
if __name__ == "__main__":
import jnius_config
2020-04-19 17:02:45 +00:00
#jnius_config.add_options('-Xcheck:jni')
2020-04-19 17:54:49 +00:00
test_staticfields()