mirror of https://github.com/swig/swig.git
39 lines
1.0 KiB
Lua
39 lines
1.0 KiB
Lua
local v=require("member_pointer_const")
|
|
|
|
function check(what, expected, actual)
|
|
assert(expected == actual, "Failed: " .. what .. " Expected: " .. expected .. " Actual: " .. actual)
|
|
end
|
|
|
|
-- Get the pointers
|
|
local area_pt = v.areapt()
|
|
local perim_pt = v.perimeterpt()
|
|
|
|
-- Create some objects
|
|
local s = v.Square(10)
|
|
|
|
-- Do some calculations
|
|
check("Square area ", 100, v.do_op(s, area_pt))
|
|
check("Square perim", 40, v.do_op(s, perim_pt))
|
|
|
|
local memberPtr = v.areavar
|
|
local memberPtr = v.perimetervar
|
|
|
|
-- Try the variables
|
|
check("Square area ", 100, v.do_op(s, v.areavar))
|
|
check("Square perim", 40, v.do_op(s, v.perimetervar))
|
|
|
|
-- Modify one of the variables
|
|
v.areavar = perim_pt
|
|
check("Square perimeter", 40, v.do_op(s, v.areavar))
|
|
|
|
-- Try the constants
|
|
memberPtr = v.AREAPT
|
|
memberPtr = v.PERIMPT
|
|
memberPtr = v.NULLPT
|
|
check("Square area ", 100, v.do_op(s, v.AREAPT))
|
|
check("Square perim", 40, v.do_op(s, v.PERIMPT))
|
|
|
|
-- Typedefs
|
|
check("Square perim", 40, v.do_op_td(s, perim_pt))
|
|
check("Add by value", 3, v.call1(v.ADD_BY_VALUE, 1, 2))
|