blob: 6564c95a2c1f1315e1440561eb96f97fa549ea14 [file] [log] [blame]
import director_basic
class PyFoo(director_basic.Foo):
def ping(self):
return "PyFoo::ping()"
a = PyFoo()
if a.ping() != "PyFoo::ping()":
raise RuntimeError, a.ping()
if a.pong() != "Foo::pong();PyFoo::ping()":
raise RuntimeError, a.pong()
b = director_basic.Foo()
if b.ping() != "Foo::ping()":
raise RuntimeError, b.ping()
if b.pong() != "Foo::pong();Foo::ping()":
raise RuntimeError, b.pong()
a = director_basic.A1(1)
if a.rg(2) != 2:
raise RuntimeError
class PyClass(director_basic.MyClass):
def method(self, vptr):
self.cmethod = 7
pass
def vmethod(self, b):
b.x = b.x + 31
return b
b = director_basic.Bar(3)
d = director_basic.MyClass()
c = PyClass()
cc = director_basic.MyClass_get_self(c)
dd = director_basic.MyClass_get_self(d)
bc = cc.cmethod(b)
bd = dd.cmethod(b)
cc.method(b)
if c.cmethod != 7:
raise RuntimeError
if bc.x != 34:
raise RuntimeError
if bd.x != 16:
raise RuntimeError
class PyMulti(director_basic.Foo, director_basic.MyClass):
def __init__(self):
director_basic.Foo.__init__(self)
director_basic.MyClass.__init__(self)
pass
def vmethod(self, b):
b.x = b.x + 31
return b
def ping(self):
return "PyFoo::ping()"
a = 0
for i in range(0, 100):
pymult = PyMulti()
pymult.pong()
del pymult
pymult = PyMulti()
p1 = director_basic.Foo_get_self(pymult)
p2 = director_basic.MyClass_get_self(pymult)
p1.ping()
p2.vmethod(bc)