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); }
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); }