Пример #1
0
        public void Test_Or_And_Or_Or_Or()
        {
            DataRuleContext context = new DataRuleContext(null, null)
            {
                ValueProvider = new NameValueCollectionValueProvider(new NameValueCollection())
            };

            WhereClause[] clauses = new WhereClause[] {
                new WhereClause()
                {
                    FieldName = "title", Operator = Operator.Contains, Value1 = "title1", Logical = Logical.Or
                },
                new WhereClause()
                {
                    FieldName = "title", Operator = Operator.Contains, Value1 = "title1", Logical = Logical.And
                },
                new WhereClause()
                {
                    FieldName = "body", Operator = Operator.Contains, Value1 = "body1", Logical = Logical.Or
                },
                new WhereClause()
                {
                    FieldName = "body", Operator = Operator.Contains, Value1 = "body2", Logical = Logical.Or
                },
                new WhereClause()
                {
                    FieldName = "userkey", Operator = Operator.Contains, Value1 = "userkey1", Logical = Logical.Or
                }
            };
            var           expression = WhereClauseToContentQueryHelper.Parse(clauses, schema, valueProvider);
            StringVisitor visitor    = new StringVisitor(translatedQuery);

            visitor.Visite(expression);
            Assert.AreEqual("((((((((title Contains title1) OR (title Contains title1))) AND (body Contains body1))) OR (body Contains body2))) OR (userkey Contains userkey1))", translatedQuery.ClauseText);
        }
Пример #2
0
        public void Test1()
        {
            MockQuery query = new MockQuery();

            StringVisitor visitor = new StringVisitor(query);

            Expression ex = new WhereEqualsExpression(null, "Title", "title1");

            visitor.Visite(ex);

            Assert.AreEqual("Title = title1", query.ClauseText);
        }