/trunk/Examples/test-suite/lua/member_pointer_runme.lua
Lua | 43 lines | 22 code | 13 blank | 8 comment | 2 complexity | d90476c79c980eb5f4258869357433f4 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- --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))