Ejemplo n.º 1
0
        public void SetUp()
        {
            var sqlTable = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo();

            _entityExpression = new SqlEntityDefinitionExpression(
                typeof(string),
                "t",
                null,
                e => e.GetColumn(typeof(string), "ID", true),
                new SqlColumnExpression[]
            {
                new SqlColumnDefinitionExpression(typeof(string), "t", "ID", true),
                new SqlColumnDefinitionExpression(typeof(int), "t", "Name", false),
                new SqlColumnDefinitionExpression(typeof(int), "t", "City", false)
            });

            _sqlStatement = new SqlStatement(
                new TestStreamedValueInfo(typeof(int)),
                _entityExpression,
                new[] { sqlTable },
                null,
                null,
                new Ordering[] { },
                null,
                false,
                null,
                null);
            _commandBuilder = new SqlCommandBuilder();
        }
        public void ResolveTableInfo_GroupReferenceTableInfo_NoSubStatement()
        {
            var groupSource = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo(typeof(IEnumerable <Cook>));
            var tableInfo   = new UnresolvedGroupReferenceTableInfo(groupSource);

            ResolvingTableInfoVisitor.ResolveTableInfo(tableInfo, _resolverMock, _generator, _stageMock, _mappingResolutionContext);
        }
Ejemplo n.º 3
0
 public void SetUp()
 {
     _sqlTable       = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo();
     _stageMock      = MockRepository.GenerateStrictMock <ISqlGenerationStage>();
     _generator      = new TestableSqlStatementTextGenerator(_stageMock);
     _commandBuilder = new SqlCommandBuilder();
 }
        public void GenerateSql_ForSeveralTables()
        {
            var sqlTable1 = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo("Table1", "t1");
            var sqlTable2 = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo("Table2", "t2");
            var sqlTable3 = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo("Table3", "t3");

            SqlTableAndJoinTextGenerator.GenerateSql(sqlTable1, _commandBuilder, _stageMock, true);
            SqlTableAndJoinTextGenerator.GenerateSql(sqlTable2, _commandBuilder, _stageMock, false);
            SqlTableAndJoinTextGenerator.GenerateSql(sqlTable3, _commandBuilder, _stageMock, false);

            Assert.That(_commandBuilder.GetCommandText(), Is.EqualTo("[Table1] AS [t1] CROSS JOIN [Table2] AS [t2] CROSS JOIN [Table3] AS [t3]"));
        }
        public void ResolveTableReferenceExpression()
        {
            var expression = new SqlTableReferenceExpression(SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo(typeof(Cook)));
            var fakeResult = SqlStatementModelObjectMother.CreateSqlEntityDefinitionExpression(typeof(Cook));

            _resolverMock
            .Expect(mock => mock.ResolveSimpleTableInfo(expression.SqlTable.GetResolvedTableInfo(), _uniqueIdentifierGenerator))
            .Return(fakeResult);

            var result = _stage.ResolveTableReferenceExpression(expression, _mappingResolutionContext);

            Assert.That(result, Is.SameAs(fakeResult));
        }
        public void SetUp()
        {
            _stageMock                      = MockRepository.GenerateStrictMock <IMappingResolutionStage>();
            _resolverMock                   = MockRepository.GenerateStrictMock <IMappingResolver>();
            _sqlTable                       = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo(typeof(Cook));
            _mappingResolutionContext       = new MappingResolutionContext();
            _generator                      = new UniqueIdentifierGenerator();
            _entityIdentityResolverMock     = MockRepository.GenerateStrictMock <IEntityIdentityResolver> ();
            _compoundComparisonSplitterMock = MockRepository.GenerateStrictMock <ICompoundExpressionComparisonSplitter> ();
            _namedExpressionCombinerMock    = MockRepository.GenerateStrictMock <INamedExpressionCombiner>();
            _groupAggregateSimplifierMock   = MockRepository.GenerateStrictMock <IGroupAggregateSimplifier>();

            _visitor = CreateVisitor(true);
        }
        public void GenerateSql_JoinedTable_WithLeftJoinSemantics()
        {
            var condition = Expression.Constant(true);
            var joinInfo  = new ResolvedJoinInfo(new ResolvedSimpleTableInfo(typeof(Cook), "CookTable", "c"), condition);

            var sqlTable = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo("KitchenTable", "k", JoinSemantics.Inner);

            sqlTable.GetOrAddLeftJoin(joinInfo, ExpressionHelper.GetMember <Kitchen> (k => k.Cook));

            _stageMock
            .Expect(mock => mock.GenerateTextForJoinCondition(_commandBuilder, condition))
            .WhenCalled(mi => ((SqlCommandBuilder)mi.Arguments[0]).Append("condition"));

            SqlTableAndJoinTextGenerator.GenerateSql(sqlTable, _commandBuilder, _stageMock, isFirstTable: true);

            Assert.That(_commandBuilder.GetCommandText(), Is.EqualTo("[KitchenTable] AS [k] LEFT OUTER JOIN [CookTable] AS [c] ON condition"));
        }
Ejemplo n.º 8
0
        public void SetUp()
        {
            _sqlTable         = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo();
            _entityExpression = new SqlEntityDefinitionExpression(
                typeof(string),
                "t", null,
                e => e.GetColumn(typeof(int), "ID", true),
                new SqlColumnExpression[]
            {
                new SqlColumnDefinitionExpression(typeof(int), "t", "ID", true),
                new SqlColumnDefinitionExpression(typeof(int), "t", "Name", false),
                new SqlColumnDefinitionExpression(typeof(int), "t", "City", false)
            });

            _stageMock      = MockRepository.GenerateStrictMock <ISqlGenerationStage>();
            _generator      = new TestableSqlStatementTextGenerator(_stageMock);
            _commandBuilder = new SqlCommandBuilder();
        }
        public void SetUp()
        {
            var sqlTable = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo();

            _entityExpression = new SqlEntityDefinitionExpression(
                typeof(string),
                "t",
                null,
                e => e.GetColumn(typeof(string), "ID", true),
                new SqlColumnExpression[]
            {
                new SqlColumnDefinitionExpression(typeof(string), "t", "ID", true),
                new SqlColumnDefinitionExpression(typeof(int), "t", "Name", false),
                new SqlColumnDefinitionExpression(typeof(int), "t", "City", false)
            });

            _sqlStatement = SqlStatementModelObjectMother.CreateMinimalSqlStatement(
                new SqlStatementBuilder
            {
                SelectProjection = _entityExpression,
                SqlTables        = { sqlTable }
            });
            _commandBuilder = new SqlCommandBuilder();
        }