Пример #1
0
        public void Equals_DifferentCurrentRowNumberOffset()
        {
            var currentRowNumberOffset1 = Expression.Constant(1);
            var currentRowNumberOffset2 = Expression.Constant(2);
            var dataInfo         = new TestStreamedValueInfo(typeof(int));
            var selectProjection = Expression.Constant(1);

            var sqlStatement1 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[] { },
                null,
                null,
                new Ordering[] { },
                null,
                false,
                null,
                currentRowNumberOffset1);

            var sqlStatement2 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[] { },
                null,
                null,
                new Ordering[] { },
                null,
                false,
                null,
                currentRowNumberOffset2);

            Assert.That(sqlStatement1.Equals(sqlStatement2), Is.False);
        }
Пример #2
0
        public void Equals_DifferentGroupByExpression()
        {
            var groupByExpression1 = Expression.Constant("group1");
            var groupByExpression2 = Expression.Constant("group2");
            var dataInfo           = new TestStreamedValueInfo(typeof(int));
            var selectProjection   = Expression.Constant(1);

            var sqlStatement1 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[] { },
                null,
                groupByExpression1,
                new Ordering[] { },
                null,
                false,
                null,
                null);

            var sqlStatement2 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[] { },
                null,
                groupByExpression2,
                new Ordering[] { },
                null,
                false,
                null,
                null);

            Assert.That(sqlStatement1.Equals(sqlStatement2), Is.False);
        }
Пример #3
0
        public void Equals_DifferentDistinctCondition()
        {
            var dataInfo         = new TestStreamedValueInfo(typeof(int));
            var selectProjection = Expression.Constant(1);
            var isDistinctQuery  = BooleanObjectMother.GetRandomBoolean();

            var sqlStatement1 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[] { },
                null,
                null,
                new Ordering[] { },
                null,
                isDistinctQuery,
                null,
                null);

            var sqlStatement2 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[] { },
                null,
                null,
                new Ordering[] { },
                null,
                !isDistinctQuery,
                null,
                null);

            Assert.That(sqlStatement1.Equals(sqlStatement2), Is.False);
        }
Пример #4
0
        public void Equals_DifferentRowNumberSelector()
        {
            var rowNumberSelector1 = Expression.Constant("selector1");
            var rowNumberSelector2 = Expression.Constant("selector2");
            var dataInfo           = new TestStreamedValueInfo(typeof(int));
            var selectProjection   = Expression.Constant(1);

            var sqlStatement1 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[] { },
                null,
                null,
                new Ordering[] { },
                null,
                false,
                rowNumberSelector1,
                null);

            var sqlStatement2 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[] { },
                null,
                null,
                new Ordering[] { },
                null,
                false,
                rowNumberSelector2,
                null);

            Assert.That(sqlStatement1.Equals(sqlStatement2), Is.False);
        }
Пример #5
0
        public void Equals_DifferentOrderings()
        {
            var dataInfo         = new TestStreamedValueInfo(typeof(int));
            var selectProjection = Expression.Constant(1);
            var ordering1        = new Ordering(Expression.Constant("ordering1"), OrderingDirection.Asc);
            var ordering2        = new Ordering(Expression.Constant("ordering2"), OrderingDirection.Desc);

            var sqlStatement1 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[] { },
                null,
                null,
                new[] { ordering1 },
                null,
                false,
                null,
                null);

            var sqlStatement2 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[] { },
                null,
                null,
                new[] { ordering2 },
                null,
                false,
                null,
                null);

            Assert.That(sqlStatement1.Equals(sqlStatement2), Is.False);
        }
Пример #6
0
        public void DifferentAggregationModifier()
        {
            var dataInfo         = new TestStreamedValueInfo(typeof(int));
            var selectProjection = Expression.Constant(1);
            var selectProjectionWithCountAggregation = new AggregationExpression(typeof(int), selectProjection, AggregationModifier.Count);

            var sqlStatement1 = new SqlStatement(
                dataInfo,
                selectProjectionWithCountAggregation,
                new SqlTable[] { },
                null,
                null,
                new Ordering[] { },
                null,
                false,
                null,
                null);

            var sqlStatement2 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[] { },
                null,
                null,
                new Ordering[] { },
                null,
                false,
                null,
                null);

            Assert.That(sqlStatement1.Equals(sqlStatement2), Is.False);
        }
Пример #7
0
        public void Equals_DifferentDataInfo()
        {
            var dataInfo1        = new TestStreamedValueInfo(typeof(int));
            var dataInfo2        = new TestStreamedValueInfo(typeof(char));
            var selectProjection = Expression.Constant(1);

            var sqlStatement1 = new SqlStatement(
                dataInfo1,
                selectProjection,
                new SqlTable[] { },
                null,
                null,
                new Ordering[] { },
                null,
                false,
                null,
                null);

            var sqlStatement2 = new SqlStatement(
                dataInfo2,
                selectProjection,
                new SqlTable[] { },
                null,
                null,
                new Ordering[] { },
                null,
                false,
                null,
                null);

            Assert.That(sqlStatement1.Equals(sqlStatement2), Is.False);
        }
Пример #8
0
        public void Equals_DifferentSqlTables()
        {
            var dataInfo         = new TestStreamedValueInfo(typeof(int));
            var selectProjection = Expression.Constant(1);
            var sqlTable1        = new SqlTable(new ResolvedSimpleTableInfo(typeof(Cook), "CookTable", "c"), JoinSemantics.Inner);
            var sqlTable2        = new SqlTable(new ResolvedSimpleTableInfo(typeof(Kitchen), "KitchenTable", "k"), JoinSemantics.Inner);

            var sqlStatement1 = new SqlStatement(
                dataInfo,
                selectProjection,
                new[] { sqlTable1 },
                null,
                null,
                new Ordering[] { },
                null,
                false,
                null,
                null);

            var sqlStatement2 = new SqlStatement(
                dataInfo,
                selectProjection,
                new[] { sqlTable2 },
                null,
                null,
                new Ordering[] { },
                null,
                false,
                null,
                null);

            Assert.That(sqlStatement1.Equals(sqlStatement2), Is.False);
        }
Пример #9
0
        public void Equals_EqualStatementsWithMandatoryMembers()
        {
            var dataInfo         = new TestStreamedValueInfo(typeof(int));
            var selectProjection = Expression.Constant(1);

            var sqlStatement1 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[] { },
                null,
                null,
                new Ordering[] { },
                null,
                false,
                null,
                null);

            var sqlStatement2 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[] { },
                null,
                null,
                new Ordering[] { },
                null,
                false,
                null,
                null);

            Assert.That(sqlStatement1.Equals(sqlStatement2), Is.True);
        }
Пример #10
0
        public void Equals_DifferentSetOperationCombinedStatements()
        {
            var dataInfo         = new TestStreamedValueInfo(typeof(int));
            var selectProjection = Expression.Constant(1);
            var setOperationCombinedStatement1 = SqlStatementModelObjectMother.CreateSetOperationCombinedStatement();
            var setOperationCombinedStatement2 = SqlStatementModelObjectMother.CreateSetOperationCombinedStatement();

            var sqlStatement1 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[0],
                null,
                null,
                new Ordering[0],
                null,
                false,
                null,
                null,
                new[] { setOperationCombinedStatement1 });

            var sqlStatement2 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[0],
                null,
                null,
                new Ordering[0],
                null,
                false,
                null,
                null,
                new[] { setOperationCombinedStatement2 });

            Assert.That(sqlStatement1.Equals(sqlStatement2), Is.False);
        }
Пример #11
0
        public void Equals_DifferentTopExpression()
        {
            var dataInfo         = new TestStreamedValueInfo(typeof(int));
            var selectProjection = Expression.Constant(1);
            var topExpression1   = Expression.Constant("top1");
            var topExpression2   = Expression.Constant("top2");

            var sqlStatement1 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[0],
                null,
                null,
                new Ordering[0],
                topExpression1,
                false,
                null,
                null,
                new SetOperationCombinedStatement[0]);

            var sqlStatement2 = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[0],
                null,
                null,
                new Ordering[0],
                topExpression2,
                false,
                null,
                null,
                new SetOperationCombinedStatement[0]);

            Assert.That(sqlStatement1.Equals(sqlStatement2), Is.False);
        }
Пример #12
0
        public void Equals_MatchingSqlAndNonMatchingNumbers()
        {
            //---------------Set up test pack-------------------
            var test1 = new SqlStatement(_connection, "test");
            var test2 = new SqlStatement(_connection, "test");

            test1.AddParameter("param0", 1);
            //---------------Test Result -----------------------
            Assert.IsFalse(test1.Equals(test2));
        }
Пример #13
0
        public void Equals_ObjectIsNotASqlStatement()
        {
            var dataInfo         = new TestStreamedValueInfo(typeof(int));
            var selectProjection = Expression.Constant(1);
            var sqlStatement     = new SqlStatement(
                dataInfo,
                selectProjection,
                new SqlTable[] { },
                null,
                null,
                new Ordering[] { },
                null,
                false,
                null,
                null);

            Assert.That(sqlStatement.Equals(new object()), Is.False);
        }
Пример #14
0
        public void Equals_EqualStatementsWithAllMembers()
        {
            var dataInfo                      = new TestStreamedValueInfo(typeof(int));
            var isDistinctQuery               = BooleanObjectMother.GetRandomBoolean();
            var selectProjection              = Expression.Constant(1);
            var sqlTable                      = new SqlTable(new ResolvedSimpleTableInfo(typeof(Cook), "CookTable", "c"), JoinSemantics.Inner);
            var ordering                      = new Ordering(Expression.Constant("ordering"), OrderingDirection.Asc);
            var whereCondition                = Expression.Constant(true);
            var topExpression                 = Expression.Constant("top");
            var rowNumberSelector             = Expression.Constant("selector");
            var currentRowNumberOffset        = Expression.Constant(1);
            var groupByExpression             = Expression.Constant("group");
            var setOperationCombinedStatement = SqlStatementModelObjectMother.CreateSetOperationCombinedStatement();

            var sqlStatement1 = new SqlStatement(
                dataInfo,
                selectProjection,
                new[] { sqlTable },
                whereCondition,
                groupByExpression,
                new[] { ordering },
                topExpression,
                isDistinctQuery,
                rowNumberSelector,
                currentRowNumberOffset,
                new[] { setOperationCombinedStatement });

            var sqlStatement2 = new SqlStatement(
                dataInfo,
                selectProjection,
                new[] { sqlTable },
                whereCondition,
                groupByExpression,
                new[] { ordering },
                topExpression,
                isDistinctQuery,
                rowNumberSelector,
                currentRowNumberOffset,
                new[] { setOperationCombinedStatement });

            Assert.That(sqlStatement1.Equals(sqlStatement2), Is.True);
        }