summaryrefslogtreecommitdiff
path: root/trunk/Examples/test-suite/python/director_basic_runme.py
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/Examples/test-suite/python/director_basic_runme.py')
-rw-r--r--trunk/Examples/test-suite/python/director_basic_runme.py98
1 files changed, 98 insertions, 0 deletions
diff --git a/trunk/Examples/test-suite/python/director_basic_runme.py b/trunk/Examples/test-suite/python/director_basic_runme.py
new file mode 100644
index 000000000..541139814
--- /dev/null
+++ b/trunk/Examples/test-suite/python/director_basic_runme.py
@@ -0,0 +1,98 @@
+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)
+
+