pyjnius/tests/test_inheritance.py

61 lines
1.8 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
assert Child.STATIC_PARENT_FIELD == 1
assert parent.STATIC_PARENT_FIELD == 1
assert child.STATIC_PARENT_FIELD == 1
#now test setting
Parent.STATIC_PARENT_FIELD = 5
assert parent.STATIC_PARENT_FIELD == 5
assert Parent.STATIC_PARENT_FIELD == 5
assert Child.STATIC_PARENT_FIELD == 5
assert child.STATIC_PARENT_FIELD == 5
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-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
jnius_config.add_options('-Xcheck:jni')
test_newinstance()