コード例 #1
0
        public void ThrowExceptionOnSqlStatementBuilderCreateCountIfTheTableIsWhitespace()
        {
            // Setup
            var statementBuilder = new SqlStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = " ";

            // Act
            statementBuilder.CreateCount(queryBuilder: queryBuilder,
                                         tableName: tableName,
                                         hints: null);
        }
コード例 #2
0
        public void TestWithClassMappings()
        {
            // Setup
            var statementBuilder = new SqlStatementBuilder();
            var queryBuilder     = new QueryBuilder <TestWithClassMappingsClass>();

            // Act
            var actual   = statementBuilder.CreateCount(queryBuilder, null);
            var expected = $"" +
                           $"SELECT COUNT_BIG (1) AS [Counted] " +
                           $"FROM [ClassName] ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
コード例 #3
0
        public void TestSqlStatementBuilderCreateCountWithQuotedTableSchema()
        {
            // Setup
            var statementBuilder = new SqlStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "[dbo].[Table]";

            // Act
            var actual = statementBuilder.CreateCount(queryBuilder: queryBuilder,
                                                      tableName: tableName,
                                                      hints: null);
            var expected = "SELECT COUNT_BIG (1) AS [Counted] FROM [dbo].[Table] ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
コード例 #4
0
        public void TestSqlStatementBuilderCreateCountWithHints()
        {
            // Setup
            var statementBuilder = new SqlStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "Table";
            var hints            = "WITH (NOLOCK)";

            // Act
            var actual = statementBuilder.CreateCount(queryBuilder: queryBuilder,
                                                      tableName: tableName,
                                                      hints: hints);
            var expected = "SELECT COUNT_BIG (1) AS [Counted] FROM [Table] WITH (NOLOCK) ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
コード例 #5
0
        public void TestWithhExpressions()
        {
            // Setup
            var statementBuilder = new SqlStatementBuilder();
            var queryBuilder     = new QueryBuilder <TestWithhExpressionsClass>();
            var expression       = new { Field1 = 1 };

            // Act
            var queryGroup = QueryGroup.Parse(expression);
            var actual     = statementBuilder.CreateCount(queryBuilder, queryGroup);
            var expected   = $"" +
                             $"SELECT COUNT_BIG (1) AS [Counted] " +
                             $"FROM [TestWithhExpressionsClass] " +
                             $"WHERE ([Field1] = @Field1) ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
コード例 #6
0
        public void TestSqlDbProviderCreateCountWithExpressionsAndWithTableHints()
        {
            // Setup
            var statementBuilder = new SqlStatementBuilder();
            var queryBuilder     = new QueryBuilder <TestSqlDbProviderCreateCountWithExpressionsAndWithTableHintsClass>();
            var expression       = new { Field1 = 1 };

            // Act
            var queryGroup = QueryGroup.Parse(expression);
            var actual     = statementBuilder.CreateCount(queryBuilder, queryGroup, SqlTableHints.NoLock);
            var expected   = $"" +
                             $"SELECT COUNT_BIG (1) AS [Counted] " +
                             $"FROM [TestSqlDbProviderCreateCountWithExpressionsAndWithTableHintsClass] WITH (NOLOCK) " +
                             $"WHERE ([Field1] = @Field1) ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
コード例 #7
0
        public void TestSqlStatementBuilderCreateCountWithWhereExpression()
        {
            // Setup
            var statementBuilder = new SqlStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "Table";

            var where = new QueryGroup(new QueryField("Id", 1));

            // Act
            var actual = statementBuilder.CreateCount(queryBuilder: queryBuilder,
                                                      tableName: tableName,
                                                      where : where);
            var expected = $"" +
                           $"SELECT COUNT_BIG (1) AS [Counted] " +
                           $"FROM [Table] " +
                           $"WHERE ([Id] = @Id) ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }