Exemple #1
0
        public void Interpreter_full_chain_complex_2()
        {
            var interpreter = new XzaarScriptInterpreter();

            interpreter.RegisterVariable <int>("apa");
            interpreter.RegisterVariable <int>("over");
            var expression = interpreter.CompileExpression("apa == 8 || over == 9000 || apa == 24") as LambdaXzaarCompiledScript;

            Assert.AreEqual("(apa, over) => (((apa == 8) Or (over == 9000)) Or (apa == 24))",
                            expression.GetLambdaExpression().ToString());

            Assert.IsTrue(expression.Invoke <bool>(8, 0));
            Assert.IsTrue(expression.Invoke <bool>(0, 9000));
            Assert.IsTrue(expression.Invoke <bool>(24, 0));
            Assert.IsFalse(expression.Invoke <bool>(0, 0));
        }
Exemple #2
0
        public void AssignExpression_2()
        {
            var interpreter = new XzaarScriptInterpreter();

            interpreter.RegisterVariable <int>("a");
            var expression = interpreter.CompileExpression("a += 5 > 0") as LambdaXzaarCompiledScript;

            Assert.AreEqual("a => ((a = (a + 5)) > 0)", expression.GetLambdaExpression().ToString());
        }
Exemple #3
0
        public void AssignExpression_decimal()
        {
            var interpreter = new XzaarScriptInterpreter();

            interpreter.RegisterVariable <double>("a");
            var expression = interpreter.CompileExpression("a = 1.01") as LambdaXzaarCompiledScript;

            Assert.AreEqual("a => (a = 1,01)", expression.GetLambdaExpression().ToString());
        }
Exemple #4
0
        public void AssignExpression_strings_2()
        {
            var interpreter = new XzaarScriptInterpreter();

            interpreter.RegisterVariable <string>("a");
            var expression = interpreter.CompileExpression("a = '100'") as LambdaXzaarCompiledScript;

            Assert.AreEqual("a => (a = \"100\")", expression.GetLambdaExpression().ToString());
        }