Esempio n. 1
0
        public void VisitSqlSubStatementExpression()
        {
            var sqlStatement           = SqlStatementModelObjectMother.CreateSqlStatement_Resolved(typeof(Cook));
            var subStatementExpression = new SqlSubStatementExpression(sqlStatement);

            _stageMock
            .Expect(
                mock =>
                mock.GenerateTextForSqlStatement(_commandBuilder, sqlStatement))
            .WhenCalled(mi => ((SqlCommandBuilder)mi.Arguments[0]).Append("SELECT [t].[Name] FROM [Table] AS [t]"));
            _stageMock.Replay();

            SqlGeneratingExpressionVisitor.GenerateSql(subStatementExpression, _commandBuilder, _stageMock);

            Assert.That(_commandBuilder.GetCommandText(), Is.EqualTo("(SELECT [t].[Name] FROM [Table] AS [t])"));
            _stageMock.VerifyAllExpectations();
        }
        public void GenerateSql_ForJoinedTable()
        {
            var originalTable     = new SqlTable(new ResolvedSimpleTableInfo(typeof(Kitchen), "KitchenTable", "t1"), JoinSemantics.Inner);
            var kitchenCookMember = typeof(Kitchen).GetProperty("Cook");
            var joinedTable       = originalTable.GetOrAddLeftJoin(CreateResolvedJoinInfo(typeof(Cook), "t1", "ID", "CookTable", "t2", "FK"), kitchenCookMember);

            joinedTable.JoinInfo = CreateResolvedJoinInfo(typeof(Cook), "t1", "ID", "CookTable", "t2", "FK");

            _stageMock
            .Expect(mock => mock.GenerateTextForJoinCondition(_commandBuilder, ((ResolvedJoinInfo)joinedTable.JoinInfo).JoinCondition))
            .WhenCalled(mi => ((SqlCommandBuilder)mi.Arguments[0]).Append("([t1].[ID] = [t2].[FK])"));
            _stageMock.Replay();

            SqlTableAndJoinTextGenerator.GenerateSql(originalTable, _commandBuilder, _stageMock, true);

            _stageMock.VerifyAllExpectations();
            Assert.That(
                _commandBuilder.GetCommandText(), Is.EqualTo("[KitchenTable] AS [t1] LEFT OUTER JOIN [CookTable] AS [t2] ON ([t1].[ID] = [t2].[FK])"));
        }
Esempio n. 3
0
        public void BuildSelectPart_WithSelect()
        {
            var sqlStatement = CreateSqlStatement();

            _stageMock.Expect(
                mock => mock.GenerateTextForSelectExpression(_commandBuilder, sqlStatement.SelectProjection))
            .WhenCalled(mi => ((SqlCommandBuilder)mi.Arguments[0]).Append("[t].[ID],[t].[Name],[t].[City]"));
            _stageMock.Replay();

            _generator.BuildSelectPart(sqlStatement, _commandBuilder, false);

            Assert.That(_commandBuilder.GetCommandText(), Is.EqualTo("SELECT [t].[ID],[t].[Name],[t].[City]"));
            _stageMock.VerifyAllExpectations();
        }