Exemple #1
0
        public void DefineAndEvaluateDotExpression()
        {
            DotExpression expr = new DotExpression(new ConstantExpression(new MockObject()), "foo", null);

            object result = expr.Evaluate(null);

            Assert.IsNotNull(result);
            Assert.AreEqual("foo", result);
        }
Exemple #2
0
        public void DefineAndEvaluateDotExpressionWithArguments()
        {
            List<IExpression> arguments = new List<IExpression>();
            arguments.Add(new ConstantExpression(1));
            arguments.Add(new ConstantExpression(2));
            DotExpression expr = new DotExpression(new ConstantExpression(new MockObject()), "foo", arguments);

            object result = expr.Evaluate(null);

            Assert.IsNotNull(result);
            Assert.AreEqual("foo:1:2", result);
        }
Exemple #3
0
        private IExpression ParseTermExpression()
        {
            IExpression expression = this.ParseSimpleTermExpression();

            while (this.TryParse(TokenType.Operator, "."))
            {
                this.lexer.NextToken();
                string name = this.ParseName();
                List<IExpression> arguments = null;

                if (this.TryParse(TokenType.Separator, "("))
                    arguments = this.ParseArgumentList();

                expression = new DotExpression(expression, name, arguments);
            }

            return expression;
        }