summaryrefslogtreecommitdiff
path: root/trunk/Examples/test-suite/python/member_pointer_runme.py
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2010-06-02 20:53:17 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2010-06-02 20:53:17 +0000
commit2824b0cbb66e715490e1ef13250bd675d87b32d9 (patch)
treec3bc8d54c6d73f2b7ce08cac34172dbc9f5e5b95 /trunk/Examples/test-suite/python/member_pointer_runme.py
parent289cfef4b4766ff266f3b1bdda8ca3a952e5a047 (diff)
downloadswig-2.0.0.tar.gz
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/tags/rel-2.0.0@12089 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'trunk/Examples/test-suite/python/member_pointer_runme.py')
-rw-r--r--trunk/Examples/test-suite/python/member_pointer_runme.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/trunk/Examples/test-suite/python/member_pointer_runme.py b/trunk/Examples/test-suite/python/member_pointer_runme.py
new file mode 100644
index 000000000..27e7a483d
--- /dev/null
+++ b/trunk/Examples/test-suite/python/member_pointer_runme.py
@@ -0,0 +1,43 @@
+# Example using pointers to member functions
+
+from member_pointer import *
+
+def check(what, expected, actual):
+ if expected != actual:
+ raise RuntimeError ("Failed: " , what , " Expected: " , expected , " Actual: " , actual)
+
+# Get the pointers
+
+area_pt = areapt()
+perim_pt = perimeterpt()
+
+# Create some objects
+
+s = Square(10)
+
+# Do some calculations
+
+check ("Square area ", 100.0, do_op(s,area_pt))
+check ("Square perim", 40.0, do_op(s,perim_pt))
+
+memberPtr = cvar.areavar
+memberPtr = cvar.perimetervar
+
+# Try the variables
+check ("Square area ", 100.0, do_op(s,cvar.areavar))
+check ("Square perim", 40.0, do_op(s,cvar.perimetervar))
+
+# Modify one of the variables
+cvar.areavar = perim_pt
+
+check ("Square perimeter", 40.0, do_op(s,cvar.areavar))
+
+# Try the constants
+
+memberPtr = AREAPT
+memberPtr = PERIMPT
+memberPtr = NULLPT
+
+check ("Square area ", 100.0, do_op(s,AREAPT))
+check ("Square perim", 40.0, do_op(s,PERIMPT))
+