public void classTest() { CSLua.LuaState L = new CSLua.LuaState(); var setterGetter = new SetterGetter(); setterGetter.SetNumber(1234.567); setterGetter.SetString("this is a test"); L.registerObject("testObject", setterGetter); { var result = L.dostring("return testObject:GetNumber()"); Assert.AreEqual(1234.567, result[0]); } { var result = L.dostring("return testObject:GetString()"); Assert.AreEqual("this is a test", result[0]); } { L.dostring("testObject:SetNumber(394856.32)"); Assert.AreEqual(394856.32, setterGetter.GetNumber()); } { L.dostring("testObject:SetString(\"Yet Another String\")"); Assert.AreEqual("Yet Another String", setterGetter.GetString()); } }
public void registerObjectTest() { CSLua.LuaState L = new CSLua.LuaState(); Multiplier multiplier = new Multiplier("MyMult"); L.registerObject("testObject", multiplier); CSLua.MultiValue result = L.dostring("return testObject:multiply(7, 13)"); Assert.AreEqual(91.0, result[0]); result = L.dostring("return testObject:multiply(1, 1)"); Assert.AreEqual(1.0, result[0]); result = L.dostring("return testObject:multiply(100001, 7)"); Assert.AreEqual(700007.0, result[0]); }
public void unRegisterObjectTest() { // unregisterObject is not yet implemented. CSLua.LuaState L = new CSLua.LuaState(); Multiplier multiplier = new Multiplier("MyMult"); L.registerObject("testObject", multiplier); { var result = L.dostring("return testObject:multiply(1, 1)"); Assert.AreEqual(1.0, result[0]); } // This is not yet implemented L.unregisterObject(multiplier); { var result = L.dostring("return testObject:multiply(1, 1)"); Assert.AreEqual(null, result[0]); } }