Beispiel #1
0
        public void RenderPatternPredicate()
        {
            Column             column             = new Column("Column1");
            StringLiteralValue stringLiteralValue = new StringLiteralValue("%Value1%");
            PatternPredicate   patternPredicate   = new PatternPredicate(column, stringLiteralValue);

            Assert.AreEqual("[Column1] LIKE '%Value1%'", sqlClientRenderer.Render(patternPredicate));
        }
Beispiel #2
0
        public void RenderMembershipPredicate()
        {
            Column              column              = new Column("Column1");
            StringLiteralValue  stringLiteralValue  = new StringLiteralValue("Value1");
            MembershipPredicate membershipPredicate = new MembershipPredicate(column, stringLiteralValue);

            Assert.AreEqual("[Column1] IN ('Value1')", sqlClientRenderer.Render(membershipPredicate));
        }
Beispiel #3
0
        public void RenderComparisonPredicate()
        {
            Column              column              = new Column("Column1");
            StringLiteralValue  stringLiteralValue  = new StringLiteralValue("Value1");
            ComparisonPredicate comparisonPredicate = new ComparisonPredicate(column, ComparisonPredicateType.Equals, stringLiteralValue);

            Assert.AreEqual("[Column1] = 'Value1'", sqlClientRenderer.Render(comparisonPredicate));
        }
        public void CreateHavingClause()
        {
            Column              column              = new Column("Column1");
            StringLiteralValue  stringLiteralValue  = new StringLiteralValue("Value1");
            ComparisonPredicate comparisonPredicate = new ComparisonPredicate(column, ComparisonPredicateType.Equals, stringLiteralValue);
            HavingClause        havingClause        = new HavingClause(comparisonPredicate);

            Assert.AreEqual(comparisonPredicate, havingClause.Predicate);
        }
Beispiel #5
0
        public void RenderMembershipPredicateWithNotModifier()
        {
            Column              column              = new Column("Column1");
            NotModifier         notModifier         = new NotModifier();
            StringLiteralValue  stringLiteralValue  = new StringLiteralValue("Value1");
            MembershipPredicate membershipPredicate = new MembershipPredicate(column, notModifier, stringLiteralValue);

            Assert.AreEqual("[Column1] NOT IN ('Value1')", sqlClientRenderer.Render(membershipPredicate));
        }
Beispiel #6
0
        public void CreatePatternPredicate()
        {
            Column             column             = new Column("Column1");
            StringLiteralValue stringLiteralValue = new StringLiteralValue("Value1");
            PatternPredicate   patternPredicate   = new PatternPredicate(column, stringLiteralValue);

            Assert.AreEqual(column, patternPredicate.Expression);
            Assert.IsNull(patternPredicate.NotModifier);
            Assert.AreEqual(stringLiteralValue, patternPredicate.Pattern);
        }
Beispiel #7
0
        public void CreateMembershipPredicate()
        {
            Column              column              = new Column("Column1");
            StringLiteralValue  stringLiteralValue  = new StringLiteralValue("Value1");
            MembershipPredicate membershipPredicate = new MembershipPredicate(column, stringLiteralValue);

            Assert.AreEqual(column, membershipPredicate.Expression);
            Assert.IsNull(membershipPredicate.NotModifier);
            Assert.AreEqual(stringLiteralValue, membershipPredicate.Membership);
        }
Beispiel #8
0
        public void CreateComparisonPredicate()
        {
            Column              column              = new Column("Column1");
            StringLiteralValue  stringLiteralValue  = new StringLiteralValue("Value1");
            ComparisonPredicate comparisonPredicate = new ComparisonPredicate(column, ComparisonPredicateType.Equals, stringLiteralValue);

            Assert.AreEqual(column, comparisonPredicate.LeftExpression);
            Assert.AreEqual(ComparisonPredicateType.Equals, comparisonPredicate.ComparisonType);
            Assert.AreEqual(stringLiteralValue, comparisonPredicate.RightExpression);
        }
Beispiel #9
0
 public override string Render(StringLiteralValue stringLiteralValue)
 {
     if (ReplaceLiteralsWithParameters)
     {
         return(AddParameter(stringLiteralValue.Literal, DbType.String).Render(this));
     }
     else
     {
         return(string.Format("'{0}'", stringLiteralValue.Literal.Replace("'", "''")));
     }
 }
        public void AddHavingClauseToSelectQuery()
        {
            SelectQuery selectQuery = new SelectQuery();

            Column              column              = new Column("Column1");
            StringLiteralValue  stringLiteralValue  = new StringLiteralValue("Value1");
            ComparisonPredicate comparisonPredicate = new ComparisonPredicate(column, ComparisonPredicateType.Equals, stringLiteralValue);
            HavingClause        havingClause        = new HavingClause(comparisonPredicate);

            selectQuery.Having(havingClause);

            Assert.AreEqual(havingClause, selectQuery.HavingClause);
        }
        public void AddWhereClauseToSelectQuery()
        {
            SelectQuery selectQuery = new SelectQuery();

            Column              column              = new Column("Column1");
            StringLiteralValue  stringLiteralValue  = new StringLiteralValue("LiteralValue1");
            ComparisonPredicate comparisonPredicate = new ComparisonPredicate(column, ComparisonPredicateType.Equals, stringLiteralValue);
            WhereClause         whereClause         = new WhereClause(comparisonPredicate);

            selectQuery.Where(whereClause);

            Assert.AreEqual(whereClause, selectQuery.WhereClause);
        }
        public void RenderHavingClausesOr()
        {
            Column              column1              = new Column("Column1");
            Column              column2              = new Column("Column2");
            StringLiteralValue  stringLiteralValue1  = new StringLiteralValue("Value1");
            StringLiteralValue  stringLiteralValue2  = new StringLiteralValue("Value2");
            ComparisonPredicate comparisonPredicate1 = new ComparisonPredicate(column1, ComparisonPredicateType.Equals, stringLiteralValue1);
            ComparisonPredicate comparisonPredicate2 = new ComparisonPredicate(column2, ComparisonPredicateType.Equals, stringLiteralValue2);
            HavingClause        havingClause1        = new HavingClause(comparisonPredicate1);
            HavingClause        havingClause2        = new HavingClause(comparisonPredicate2);
            HavingClauses       havingClauses        = new HavingClauses(havingClause1, BooleanOperatorType.Or, havingClause2);

            Assert.AreEqual("([Column1] = 'Value1' OR [Column2] = 'Value2')", sqlClientRenderer.Render(havingClauses));
        }
        public void RenderWhereClausesAnd()
        {
            Column              column1              = new Column("Column1");
            Column              column2              = new Column("Column2");
            StringLiteralValue  stringLiteralValue1  = new StringLiteralValue("Value1");
            StringLiteralValue  stringLiteralValue2  = new StringLiteralValue("Value2");
            ComparisonPredicate comparisonPredicate1 = new ComparisonPredicate(column1, ComparisonPredicateType.Equals, stringLiteralValue1);
            ComparisonPredicate comparisonPredicate2 = new ComparisonPredicate(column2, ComparisonPredicateType.Equals, stringLiteralValue2);
            WhereClause         whereClause1         = new WhereClause(comparisonPredicate1);
            WhereClause         whereClause2         = new WhereClause(comparisonPredicate2);
            WhereClauses        whereClauses         = new WhereClauses(whereClause1, BooleanOperatorType.And, whereClause2);

            Assert.AreEqual("([Column1] = 'Value1' AND [Column2] = 'Value2')", sqlClientRenderer.Render(whereClauses));
        }
        public void AddHavingClauses()
        {
            Column              column1              = new Column("Column1");
            Column              column2              = new Column("Column2");
            StringLiteralValue  stringLiteralValue1  = new StringLiteralValue("Value1");
            StringLiteralValue  stringLiteralValue2  = new StringLiteralValue("Value2");
            ComparisonPredicate comparisonPredicate1 = new ComparisonPredicate(column1, ComparisonPredicateType.Equals, stringLiteralValue1);
            ComparisonPredicate comparisonPredicate2 = new ComparisonPredicate(column2, ComparisonPredicateType.Equals, stringLiteralValue2);
            HavingClause        havingClause1        = new HavingClause(comparisonPredicate1);
            HavingClause        havingClause2        = new HavingClause(comparisonPredicate2);
            HavingClauses       havingClauses        = new HavingClauses(havingClause1, BooleanOperatorType.And, havingClause2);

            Assert.AreEqual(havingClause1, havingClauses.LeftClause);
            Assert.AreEqual(BooleanOperatorType.And, havingClauses.OperatorType);
            Assert.AreEqual(havingClause2, havingClauses.RightClause);
        }
Beispiel #15
0
 public static PatternPredicate Like(IQueryValueExpression expression, StringLiteralValue pattern)
 {
     return new PatternPredicate(expression, pattern);
 }
Beispiel #16
0
 public abstract string Render(StringLiteralValue stringLiteralValue);
Beispiel #17
0
        public void RenderStringLiteralValue()
        {
            StringLiteralValue stringLiteralValue = new StringLiteralValue("Value");

            Assert.AreEqual("'Value'", sqlClientRenderer.Render(stringLiteralValue));
        }
Beispiel #18
0
        public void CreateStringLiteralValue()
        {
            StringLiteralValue stringLiteralValue = new StringLiteralValue("Value");

            Assert.AreEqual("Value", stringLiteralValue.Literal);
        }