public void ShouldCreateOrUsingOperatorOverloading()
        {
            var factory    = new DbExpressionFactory();
            var expression = (DbBinaryExpression)(factory.Column("SomeColumn") | factory.Column("SomeOtherColumn"));

            Assert.AreEqual(DbBinaryExpressionType.Or, expression.BinaryExpressionType);
        }
        public void ShouldCreateBatchExpression()
        {
            var factory    = new DbExpressionFactory();
            var expression =
                factory.Batch(new DbExpression[] { factory.Column("SomeColumn"), factory.Column("SomeOtherColumn") });

            Assert.IsTrue(expression.Count() == 2);
            Assert.IsTrue(expression.ExpressionType == DbExpressionType.Batch);
        }
        public void ShouldCreateRightOuterExpression()
        {
            var factory    = new DbExpressionFactory();
            var expression = factory.RightOuterJoin(factory.Table("SomeTable"),
                                                    factory.Column("SomeColumn") == factory.Column("SomeOtherColumn"));

            Assert.IsNotNull(expression.Condition);
            Assert.IsNotNull(expression.Target);

            Assert.IsTrue(expression.ExpressionType == DbExpressionType.Join);
            Assert.IsTrue(expression.JoinExpressionType == DbJoinExpressionType.RightOuterJoin);
        }
        public void ShouldCreateNotEqualOperatorOverloading()
        {
            var factory    = new DbExpressionFactory();
            var expression = (DbBinaryExpression)(factory.Column("SomeColumn") != 1);

            Assert.AreEqual(DbBinaryExpressionType.NotEqual, expression.BinaryExpressionType);
        }
        public void ShouldCreateGreaterThanUsingOperatorOverloading()
        {
            var factory    = new DbExpressionFactory();
            var expression = (DbBinaryExpression)(factory.Column("SomeColumn") > 1);

            Assert.AreEqual(DbBinaryExpressionType.GreaterThan, expression.BinaryExpressionType);
        }
        public void ShouldCreateLengthExpression()
        {
            var factory = new DbExpressionFactory();
            var stringFunctionExpression = factory.Length(factory.Column("SomeStringColumn"));

            ValidateStringFunctionExpression(stringFunctionExpression, DbStringFunctionExpressionType.Length);
        }
        public void ShouldCreateMinExpression()
        {
            var factory             = new DbExpressionFactory();
            var aggregateExpression = factory.Min(factory.Column("SomeColumn"));

            ValidateAggregateExpression(aggregateExpression, DbAggregateFunctionExpressionType.Min);
        }
        public void ShouldCreateReverseExpression()
        {
            var factory = new DbExpressionFactory();
            var stringFunctionExpression = factory.Reverse(factory.Column("SomeStringColumn"));

            ValidateStringFunctionExpression(stringFunctionExpression, DbStringFunctionExpressionType.Reverse);
        }
        public void ShouldCreateReplaceExpression()
        {
            var factory = new DbExpressionFactory();
            var stringFunctionExpression = factory.Replace(factory.Column("SomeStringColumn"), factory.Constant("OldValue"), factory.Constant("NewValue"));

            ValidateStringFunctionExpression(stringFunctionExpression, DbStringFunctionExpressionType.Replace);
        }
        public void ShouldCreateSubStringExpression()
        {
            var factory = new DbExpressionFactory();
            var stringFunctionExpression = factory.SubString(factory.Column("SomeStringColumn"), factory.Constant(1), factory.Constant(2));

            ValidateStringFunctionExpression(stringFunctionExpression, DbStringFunctionExpressionType.SubString);
        }
        public void ShouldCreateSoundExExpression()
        {
            var factory = new DbExpressionFactory();
            var stringFunctionExpression = factory.SoundEx(factory.Column("SomeStringColumn"));

            ValidateStringFunctionExpression(stringFunctionExpression, DbStringFunctionExpressionType.SoundEx);
        }
        public void ShouldCreateTrimStartEndExpression()
        {
            var factory = new DbExpressionFactory();
            var stringFunctionExpression = factory.TrimEnd(factory.Column("SomeStringColumn"));

            ValidateStringFunctionExpression(stringFunctionExpression, DbStringFunctionExpressionType.TrimEnd);
        }
        public void ShouldCreateToUpperExpression()
        {
            var factory = new DbExpressionFactory();
            var stringFunctionExpression = factory.ToUpper(factory.Column("SomeStringColumn"));

            ValidateStringFunctionExpression(stringFunctionExpression, DbStringFunctionExpressionType.ToUpper);
        }
 public void ShouldCreateAddMinutesExpression()
 {
     var factory = new DbExpressionFactory();
     DbDateTimeFunctionExpression dateTimeFunctionExpression;
     dateTimeFunctionExpression = factory.AddMinutes(factory.Column("SomeDateTimeColumn"), factory.Constant(2));
     ValidateDateTimeFunctionExpression(dateTimeFunctionExpression, DbDateTimeFunctionExpressionType.AddMinutes);
 }
        public void ShoudCreateConstantExpressionWhenCheckingForNotNull()
        {
            var factory    = new DbExpressionFactory();
            var expression = (DbBinaryExpression)(factory.Column("SomeColumn") != null);

            Assert.IsNotNull(expression.RightExpression);
        }
        public void ShouldCreateInExpressionUsingValueRange()
        {
            var factory    = new DbExpressionFactory();
            var expression = factory.In(factory.Column("SomeColumn"), new object[] { 1, 2 });

            Assert.IsNotNull(expression.Expression);
            Assert.IsTrue(expression.ExpressionType == DbExpressionType.In);
        }
        public void ShouldCreateAddMillisecondsExpression()
        {
            var factory = new DbExpressionFactory();
            DbDateTimeFunctionExpression dateTimeFunctionExpression;

            dateTimeFunctionExpression = factory.AddMilliseconds(factory.Column("SomeDateTimeColumn"), factory.Constant(2));
            ValidateDateTimeFunctionExpression(dateTimeFunctionExpression, DbDateTimeFunctionExpressionType.AddMilliseconds);
        }
        public void ShouldCreateMillisecondExpression()
        {
            var factory = new DbExpressionFactory();
            DbDateTimeFunctionExpression dateTimeFunctionExpression;

            dateTimeFunctionExpression = factory.Millisecond(factory.Column("SomeDateTimeColumn"));
            ValidateDateTimeFunctionExpression(dateTimeFunctionExpression, DbDateTimeFunctionExpressionType.MilliSecond);
        }
        public void ShouldCreateDayOfWeekExpression()
        {
            var factory = new DbExpressionFactory();
            DbDateTimeFunctionExpression dateTimeFunctionExpression;

            dateTimeFunctionExpression = factory.DayOfWeek(factory.Column("SomeDateTimeColumn"));
            ValidateDateTimeFunctionExpression(dateTimeFunctionExpression, DbDateTimeFunctionExpressionType.DayOfWeek);
        }
        public void ShouldCreatePrefixExpression()
        {
            var factory    = new DbExpressionFactory();
            var expression = factory.Prefix(factory.Column("SomeColumn"), "sc");

            Assert.IsNotNull(expression.Target);
            Assert.IsNotNull(expression.Prefix);
            Assert.IsTrue(expression.ExpressionType == DbExpressionType.Prefix);
        }
        public void ShouldCreateInExpressionUsingSubSelect()
        {
            var factory    = new DbExpressionFactory();
            var expression = factory.In(factory.Column("SomeColumn"),
                                        factory.Select(f => f.Column("SomeOtherColumn")).From(e => e.Table("SomeTable")));

            Assert.IsNotNull(expression.Expression);
            Assert.IsTrue(expression.ExpressionType == DbExpressionType.In);
        }
        public void ShouldCreateNotExpression()
        {
            var factory    = new DbExpressionFactory();
            var expression = factory.Not(factory.In(factory.Column("SomeColumn"), new object[] { 1, 2 }));

            Assert.IsNotNull(expression.Operand);
            Assert.IsTrue(expression.ExpressionType == DbExpressionType.Unary);
            Assert.IsTrue(expression.UnaryExpressionType == DbUnaryExpressionType.Not);
        }
        public void ShouldCreateOrderByAscendingExpression()
        {
            var factory    = new DbExpressionFactory();
            var expression = factory.OrderByAscending(factory.Column("SomeColumn"));

            Assert.IsNotNull(expression.Expression);
            Assert.IsTrue(expression.OrderByExpressionType == DbOrderByExpressionType.Ascending);
            Assert.IsTrue(expression.ExpressionType == DbExpressionType.OrderBy);
        }
        public void ShouldCreateColumnExpression()
        {
            var factory    = new DbExpressionFactory();
            var expression = factory.Column("SomeColumn");

            Assert.IsNotNull(expression);
            Assert.IsNotNull(expression.ColumnName);
            Assert.IsTrue(expression.ExpressionType == DbExpressionType.Column);
        }
        public void ShouldCreateConditionalExpression()
        {
            var factory    = new DbExpressionFactory();
            var expression = factory.Conditional(factory.Column("SomeColumn") == factory.Constant("SomeValue"),
                                                 factory.Constant("ValueWhenTrue"), factory.Constant("ValueWhenFalse"));

            Assert.IsNotNull(expression.Condition);
            Assert.IsNotNull(expression.IfFalse);
            Assert.IsNotNull(expression.IfTrue);
            Assert.IsTrue(expression.ExpressionType == DbExpressionType.Conditional);
        }
 public void ShouldCreateCastExpression()
 {
     var factory        = new DbExpressionFactory();
     var castExpression = factory.Cast(factory.Column("SomeColumn"), typeof(Int32));
     var test           = castExpression.ToString();
 }
        public void ShouldCreateRightOuterExpression()
        {
            var factory = new DbExpressionFactory();
            var expression = factory.RightOuterJoin(factory.Table("SomeTable"),
                                               factory.Column("SomeColumn") == factory.Column("SomeOtherColumn"));
            Assert.IsNotNull(expression.Condition);
            Assert.IsNotNull(expression.Target);

            Assert.IsTrue(expression.ExpressionType == DbExpressionType.Join);
            Assert.IsTrue(expression.JoinExpressionType == DbJoinExpressionType.RightOuterJoin);
        }
 public void ShouldCreateTanExpression()
 {
     var factory = new DbExpressionFactory();
     DbMathematicalFunctionExpression mathematicalFunctionExpression = factory.Tan(factory.Column("SomeColumn"));
     ValidateMathematicalFunctionExpression(mathematicalFunctionExpression, DbMathematicalFunctionExpressionType.Tan);
 }
 public void ShouldCreateMillisecondExpression()
 {
     var factory = new DbExpressionFactory();
     DbDateTimeFunctionExpression dateTimeFunctionExpression;
     dateTimeFunctionExpression = factory.Millisecond(factory.Column("SomeDateTimeColumn"));
     ValidateDateTimeFunctionExpression(dateTimeFunctionExpression, DbDateTimeFunctionExpressionType.MilliSecond);
 }
 public void ShouldCreateNotExpression()
 {
     var factory = new DbExpressionFactory();
     var expression = factory.Not(factory.In(factory.Column("SomeColumn"), new object[] { 1, 2 }));
     Assert.IsNotNull(expression.Operand);
     Assert.IsTrue(expression.ExpressionType == DbExpressionType.Unary);
     Assert.IsTrue(expression.UnaryExpressionType == DbUnaryExpressionType.Not);
 }
 public void ShouldCreateOrUsingOperatorOverloading()
 {
     var factory = new DbExpressionFactory();
     var expression = (DbBinaryExpression)(factory.Column("SomeColumn") | factory.Column("SomeOtherColumn"));
     Assert.AreEqual(DbBinaryExpressionType.Or, expression.BinaryExpressionType);
 }
 public void ShouldCreateLengthExpression()
 {
     var factory = new DbExpressionFactory();
     var stringFunctionExpression = factory.Length(factory.Column("SomeStringColumn"));
     ValidateStringFunctionExpression(stringFunctionExpression, DbStringFunctionExpressionType.Length);
 }
        public void ShouldCreateTanExpression()
        {
            var factory = new DbExpressionFactory();
            DbMathematicalFunctionExpression mathematicalFunctionExpression = factory.Tan(factory.Column("SomeColumn"));

            ValidateMathematicalFunctionExpression(mathematicalFunctionExpression, DbMathematicalFunctionExpressionType.Tan);
        }
 public void ShouldCreateCastExpression()
 {
     var factory = new DbExpressionFactory();
     var castExpression = factory.Cast(factory.Column("SomeColumn"), typeof(Int32));
     var test = castExpression.ToString();
 }
 public void ShouldCreateYearExpression()
 {
     var factory = new DbExpressionFactory();
     DbDateTimeFunctionExpression dateTimeFunctionExpression;
     dateTimeFunctionExpression = factory.Year(factory.Column("SomeDateTimeColumn"));
     ValidateDateTimeFunctionExpression(dateTimeFunctionExpression, DbDateTimeFunctionExpressionType.Year);
 }
 public void ShouldCreateTrimStartExpression()
 {
     var factory = new DbExpressionFactory();
     var stringFunctionExpression = factory.TrimStart(factory.Column("SomeStringColumn"));
     ValidateStringFunctionExpression(stringFunctionExpression, DbStringFunctionExpressionType.TrimStart);
 }
 public void ShouldCreateReverseExpression()
 {
     var factory = new DbExpressionFactory();
     var stringFunctionExpression = factory.Reverse(factory.Column("SomeStringColumn"));
     ValidateStringFunctionExpression(stringFunctionExpression, DbStringFunctionExpressionType.Reverse);
 }
 public void ShouldCreateReplaceExpression()
 {
     var factory = new DbExpressionFactory();
     var stringFunctionExpression = factory.Replace(factory.Column("SomeStringColumn"), factory.Constant("OldValue"), factory.Constant("NewValue"));
     ValidateStringFunctionExpression(stringFunctionExpression, DbStringFunctionExpressionType.Replace);
 }
 public void ShouldCreateColumnExpression()
 {
     var factory = new DbExpressionFactory();
     var expression = factory.Column("SomeColumn");
     Assert.IsNotNull(expression);
     Assert.IsNotNull(expression.ColumnName);
     Assert.IsTrue(expression.ExpressionType == DbExpressionType.Column);
 }
 public void ShouldCreatePrefixExpression()
 {
     var factory = new DbExpressionFactory();
     var expression = factory.Prefix(factory.Column("SomeColumn"), "sc");
     Assert.IsNotNull(expression.Target);
     Assert.IsNotNull(expression.Prefix);
     Assert.IsTrue(expression.ExpressionType == DbExpressionType.Prefix);
 }
 public void ShouldCreateRoundExpression()
 {
     var factory = new DbExpressionFactory();
     DbMathematicalFunctionExpression mathematicalFunctionExpression = factory.Round(factory.Column("SomeColumn"), factory.Constant(2));
     ValidateMathematicalFunctionExpression(mathematicalFunctionExpression, DbMathematicalFunctionExpressionType.Round);
 }
 public void ShouldCreateOrderByDescendingExpression()
 {
     var factory = new DbExpressionFactory();
     var expression = factory.OrderByDescending(factory.Column("SomeColumn"));
     Assert.IsNotNull(expression.Expression);
     Assert.IsTrue(expression.OrderByExpressionType == DbOrderByExpressionType.Descending);
     Assert.IsTrue(expression.ExpressionType == DbExpressionType.OrderBy);
 }
 public void ShouldCreateLessThanUsingOperatorOverloading()
 {
     var factory = new DbExpressionFactory();
     var expression = (DbBinaryExpression)(factory.Column("SomeColumn") < 1);
     Assert.AreEqual(DbBinaryExpressionType.LessThan, expression.BinaryExpressionType);
 }
 public void ShouldCreateNotEqualOperatorOverloading()
 {
     var factory = new DbExpressionFactory();
     var expression = (DbBinaryExpression)(factory.Column("SomeColumn") != 1);
     Assert.AreEqual(DbBinaryExpressionType.NotEqual, expression.BinaryExpressionType);
 }
 public void ShouldCreateSubStringExpression()
 {
     var factory = new DbExpressionFactory();
     var stringFunctionExpression = factory.SubString(factory.Column("SomeStringColumn"), factory.Constant(1), factory.Constant(2));
     ValidateStringFunctionExpression(stringFunctionExpression, DbStringFunctionExpressionType.SubString);
 }
 public void ShouldCreateListExpression()
 {
     var factory = new DbExpressionFactory();
     var expression =
         factory.List(new DbExpression[] { factory.Column("SomeColumn"), factory.Column("SomeOtherColumn") });
     Assert.IsTrue(expression.Count() == 2);
     Assert.IsTrue(expression.ExpressionType == DbExpressionType.List);
 }
 public void ShouldCreateSumExpression()
 {
     var factory = new DbExpressionFactory();
     var aggregateExpression = factory.Sum(factory.Column("SomeColumn"));
     ValidateAggregateExpression(aggregateExpression, DbAggregateFunctionExpressionType.Sum);
 }
 public void ShouldCreateInExpressionUsingSubSelect()
 {
     var factory = new DbExpressionFactory();
     var expression = factory.In(factory.Column("SomeColumn"),
                                 factory.Select(f => f.Column("SomeOtherColumn")).From(e => e.Table("SomeTable")));
     Assert.IsNotNull(expression.Expression);
     Assert.IsTrue(expression.ExpressionType == DbExpressionType.In);
 }
 public void ShouldCreateSoundExExpression()
 {
     var factory = new DbExpressionFactory();
     var stringFunctionExpression = factory.SoundEx(factory.Column("SomeStringColumn"));
     ValidateStringFunctionExpression(stringFunctionExpression, DbStringFunctionExpressionType.SoundEx);
 }
        public void ShouldCreateRoundExpression()
        {
            var factory = new DbExpressionFactory();
            DbMathematicalFunctionExpression mathematicalFunctionExpression = factory.Round(factory.Column("SomeColumn"), factory.Constant(2));

            ValidateMathematicalFunctionExpression(mathematicalFunctionExpression, DbMathematicalFunctionExpressionType.Round);
        }
 public void ShouldCreateConditionalExpression()
 {
     var factory = new DbExpressionFactory();
     var expression = factory.Conditional(factory.Column("SomeColumn") == factory.Constant("SomeValue"),
                         factory.Constant("ValueWhenTrue"), factory.Constant("ValueWhenFalse"));
     Assert.IsNotNull(expression.Condition);
     Assert.IsNotNull(expression.IfFalse);
     Assert.IsNotNull(expression.IfTrue);
     Assert.IsTrue(expression.ExpressionType == DbExpressionType.Conditional);
 }
 public void ShoudCreateConstantExpressionWhenCheckingForNull()
 {
     var factory = new DbExpressionFactory();
     var expression = (DbBinaryExpression)(factory.Column("SomeColumn") == null);
     Assert.IsNotNull(expression.RightExpression);
 }
 public void ShouldCreateInExpressionUsingValueRange()
 {
     var factory = new DbExpressionFactory();
     var expression = factory.In(factory.Column("SomeColumn"), new object[] { 1, 2 });
     Assert.IsNotNull(expression.Expression);
     Assert.IsTrue(expression.ExpressionType == DbExpressionType.In);
 }