mirror of https://github.com/swig/swig.git
55 lines
1.5 KiB
Lua
55 lines
1.5 KiB
Lua
require("director_primitives")
|
|
|
|
function makeCalls(myCaller, myBase)
|
|
myCaller:set(myBase)
|
|
myCaller:NoParmsMethodCall()
|
|
assert(myCaller:BoolMethodCall(true))
|
|
assert(not myCaller:BoolMethodCall(false ))
|
|
assert(myCaller:IntMethodCall(-123) == -123)
|
|
assert(myCaller:UIntMethodCall(123) == 123)
|
|
assert(cmp_flt(myCaller:FloatMethodCall(-123 / 128), -0.9609375))
|
|
assert(myCaller:CharPtrMethodCall("test string") == "test string")
|
|
assert(myCaller:ConstCharPtrMethodCall("another string") == "another string")
|
|
assert(myCaller:EnumMethodCall(director_primitives.HShadowHard) == director_primitives.HShadowHard)
|
|
myCaller:ManyParmsMethodCall(true, -123, 123, 123.456, "test string", "another string", director_primitives.HShadowHard)
|
|
myCaller:NotOverriddenMethodCall()
|
|
myCaller:reset()
|
|
end
|
|
|
|
local myCaller = director_primitives.Caller()
|
|
|
|
local myBase1 = director_primitives.Base(100.0)
|
|
makeCalls(myCaller, myBase1)
|
|
|
|
local myBase2 = director_primitives.Derived(200.0)
|
|
makeCalls(myCaller, myBase2)
|
|
|
|
local myBase3 = director_primitives.Base(300.0)
|
|
swig_derive(myBase3, {
|
|
NoParmsMethod = function(self)
|
|
end,
|
|
BoolMethod = function(self, x)
|
|
return x
|
|
end,
|
|
IntMethod = function(self, x)
|
|
return x
|
|
end,
|
|
UIntMethod = function(self, x)
|
|
return x
|
|
end,
|
|
FloatMethod = function(self, x)
|
|
return x
|
|
end,
|
|
CharPtrMethod = function(self, x)
|
|
return x
|
|
end,
|
|
ConstCharPtrMethod = function(self, x)
|
|
return x
|
|
end,
|
|
EnumMethod = function(self, x)
|
|
return x
|
|
end,
|
|
ManyParmsMethod = function(self)
|
|
end})
|
|
makeCalls(myCaller, myBase3)
|