1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
import director_property
class PyFoo(director_property.Foo):
a = property(director_property.Foo.getA, director_property.Foo.setA)
def ping(self):
return "PyFoo::ping()"
foo = PyFoo()
foo.setA("BLABLA")
if foo.getA() != "BLABLA":
raise RuntimeError
# test property addition in PyFoo
if foo.a != "BLABLA":
raise RuntimeError
foo.a = "BIBI"
if foo.a != "BIBI":
raise RuntimeError
if foo.getA() != "BIBI":
raise RuntimeError
class MyFoo(director_property.Foo):
def setA(self, a):
director_property.Foo.setA(self, a + " set from MyFoo")
def setAByRef(self, a):
director_property.Foo.setA(self, a + " setAByRef from MyFoo")
a = MyFoo()
if (a.getA() != ""):
raise RuntimeError("Test failed")
a.setA("Hello")
if (a.getA() != "Hello set from MyFoo"):
raise RuntimeError("Test failed")
a.setAByRef("Hello")
if (a.getA() != "Hello setAByRef from MyFoo"):
raise RuntimeError("Test failed")
del a
a_original = MyFoo()
a = director_property.Foo.get_self(a_original)
if (a.getA() != ""):
raise RuntimeError("Test failed")
a.setA("Hello")
if (a.getA() != "Hello set from MyFoo"):
raise RuntimeError("Test failed")
a.setAByRef("Hello")
if (a.getA() != "Hello setAByRef from MyFoo"):
raise RuntimeError("Test failed")
del a
|