diff options
| author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2009-08-18 20:56:02 +0000 |
|---|---|---|
| committer | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-09-25 16:59:08 +0000 |
| commit | 9f8a09ed743cedd9547bf0661d518647966ab114 (patch) | |
| tree | 9c7803d3b27a8ec22e91792ac7f7932efa128b20 /Examples/test-suite/lua/member_pointer_runme.lua | |
| download | swig-tarball-master.tar.gz | |
Imported from /srv/lorry/lorry-area/swig-tarball/swig-1.3.40.tar.gz.HEADswig-1.3.40master
Diffstat (limited to 'Examples/test-suite/lua/member_pointer_runme.lua')
| -rw-r--r-- | Examples/test-suite/lua/member_pointer_runme.lua | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Examples/test-suite/lua/member_pointer_runme.lua b/Examples/test-suite/lua/member_pointer_runme.lua new file mode 100644 index 0000000..8dddab2 --- /dev/null +++ b/Examples/test-suite/lua/member_pointer_runme.lua @@ -0,0 +1,43 @@ +--Example using pointers to member functions + +require("import") -- the import fn +import("member_pointer") -- import code + +for k,v in pairs(member_pointer) do _G[k]=v end + +function check(what, expected, actual) + assert(expected == actual,"Failed: "..what.." Expected: "..expected.." Actual: "..actual) +end + +-- 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)) + +-- Try the variables +-- these have to still be part of the 'member_pointer' table +memberPtr = member_pointer.areavar +memberPtr = member_pointer.perimetervar + +check ("Square area ", 100.0, do_op(s,member_pointer.areavar)) +check ("Square perim", 40.0, do_op(s,member_pointer.perimetervar)) + +-- Modify one of the variables +member_pointer.areavar = perim_pt + +check ("Square perimeter", 40.0, do_op(s,member_pointer.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)) + |
