From 2824b0cbb66e715490e1ef13250bd675d87b32d9 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Wed, 2 Jun 2010 20:53:17 +0000 Subject: rel-2.0.0 git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/tags/rel-2.0.0@12089 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- .../test-suite/python/member_pointer_runme.py | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 trunk/Examples/test-suite/python/member_pointer_runme.py (limited to 'trunk/Examples/test-suite/python/member_pointer_runme.py') 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)) + -- cgit v1.2.1