diff options
Diffstat (limited to 'trunk/Examples/test-suite/python/member_pointer_runme.py')
-rw-r--r-- | trunk/Examples/test-suite/python/member_pointer_runme.py | 43 |
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)) + |