Exemple #1
0
        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());
            }
        }
Exemple #2
0
        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]);
        }
Exemple #3
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]);
            }
        }