Ejemplo n.º 1
0
        public void Add_Single_NoSeparator()
        {
            var clause = new SeparatedClause(new MutableClause(","));

            clause.AppendSeparated("one");

            Assert.AreEqual("one", clause.Text);
        }
Ejemplo n.º 2
0
        public void Add_Multiple_AddsSeparator()
        {
            var clause = new SeparatedClause(new MutableClause(","));

            clause.AppendSeparated("one").AppendSeparated("two");

            Assert.AreEqual("one,two", clause.Text);
        }
        public IClause ParseExact(MethodCallExpression expression, ClauseContext context)
        {
            var functionName = _funcResolver.Resolve(expression.Method);
            var argClause    = new SeparatedClause(",".ToClause());

            foreach (var arg in expression.Arguments)
            {
                argClause.AppendSeparated(_lookup.Parse(arg, context));
            }

            var clause = new MutableClause(argClause).WrapParentheses().PrependText(functionName);

            return(clause);
        }