swig/Examples/test-suite/lua/allprotected_runme.lua

44 lines
2.0 KiB
Lua

local v=require("allprotected")
local klass = v.Klass("allprotected_klass")
assert(klass:getName() == "allprotected_klass", "klass.getName()")
local publicBase = v.PublicBase("allprotected_PubBase")
assert(publicBase:virtualMethod() == "PublicBase", "publicBase.virtualMethod()")
local class = publicBase:instanceMethod(klass)
assert(class:getName() == "allprotected_klass", "publicBase.instanceMethod(klass).getName()")
class = publicBase:instanceOverloaded(klass)
assert(class:getName() == "allprotected_klass", "publicBase.instanceOverloaded(klass).getName()")
class = v.PublicBase.staticMethod(klass)
assert(class:getName() == "allprotected_klass", "PublicBase.staticMethod(klass).getName()")
class = v.PublicBase.staticOverloaded(klass)
assert(class:getName() == "allprotected_klass", "PublicBase.staticOverloaded(klass).getName()")
class = v.PublicBase.staticOverloaded(klass, "allprotected_klass3")
assert(class:getName() == "allprotected_klass3", "PublicBase.staticOverloaded(klass, \"allprotected_klass3\").getName()")
assert(v.PublicBase.EnumVal1 == 0, "PublicBase.EnumVal1")
assert(v.PublicBase.EnumVal2 == 1, "PublicBase.EnumVal2")
v.PublicBase.instanceMemberVariable = 12
assert(v.PublicBase.instanceMemberVariable == 12, "PublicBase.instanceMemberVariable")
assert(v.PublicBase.staticConstMemberVariable == 20, "PublicBase.staticConstMemberVariable")
assert(v.PublicBase.staticMemberVariable == 10, "PublicBase.staticMemberVariable")
publicBase.stringMember = "dummy"
assert(publicBase.stringMember == "dummy", "publicBase.stringMember")
assert(publicBase.anEnum == v.PublicBase.EnumVal1, "publicBase.anEnum == EnumVal1");
publicBase.anEnum = v.PublicBase.EnumVal2
assert(publicBase.anEnum == v.PublicBase.EnumVal2, "publicBase.anEnum == EnumVal2");
local procBase = v.ProtectedBase("allprotected_ProcBase")
assert(procBase ~= nil)
assert(procBase:virtualMethod() == "ProtectedBase", "procBase.virtualMethod()")
assert(procBase.anEnum == v.ProtectedBase.EnumVal1, "procBase.anEnum")