public void VisitQueryModel_ConstantExpressionCollection_VisitResultOperatorsIsCalled() { var handlerMock = MockRepository.GenerateStrictMock <IResultOperatorHandler>(); var registry = new ResultOperatorHandlerRegistry(); registry.Register(typeof(TestChoiceResultOperator), handlerMock); var queryModelVisitor = new TestableSqlPreparationQueryModelVisitor(_context, _stageMock, _generator, registry); var constantExpression = Expression.Constant(new[] { "t1", "t2" }); _queryModel.MainFromClause.FromExpression = constantExpression; var resultOperator = new TestChoiceResultOperator(false); _queryModel.ResultOperators.Add(resultOperator); var sqlStatementBuilder = queryModelVisitor.SqlStatementBuilder; handlerMock.Expect( mock => mock.HandleResultOperator( Arg <ResultOperatorBase> .Matches(o => o == resultOperator), Arg <SqlStatementBuilder> .Matches(sb => sb == sqlStatementBuilder), Arg <UniqueIdentifierGenerator> .Matches(g => g == _generator), Arg <ISqlPreparationStage> .Matches(s => s == _stageMock), Arg <ISqlPreparationContext> .Matches(c => c != _context))); handlerMock.Replay(); queryModelVisitor.VisitQueryModel(_queryModel); handlerMock.VerifyAllExpectations(); }
public void VisitQueryModel_VisitsClauses_AndNamesSelectClause() { var fakeSelectProjection = Expression.Constant(0); _visitorPartialMock.Expect(mock => mock.VisitMainFromClause(_queryModel.MainFromClause, _queryModel)); _visitorPartialMock .Expect(mock => mock.VisitSelectClause(_queryModel.SelectClause, _queryModel)) .WhenCalled(mi => _visitorPartialMock.SqlStatementBuilder.SelectProjection = fakeSelectProjection); _visitorPartialMock.Replay(); _visitorPartialMock.VisitQueryModel(_queryModel); _visitorPartialMock.VerifyAllExpectations(); Assert.That(_visitorPartialMock.SqlStatementBuilder.SelectProjection, Is.TypeOf(typeof(NamedExpression))); Assert.That(((NamedExpression)_visitorPartialMock.SqlStatementBuilder.SelectProjection).Name, Is.Null); Assert.That(((NamedExpression)_visitorPartialMock.SqlStatementBuilder.SelectProjection).Expression, Is.SameAs(fakeSelectProjection)); }
public void VisitQueryModel_ConstantExpression_Collection() { var constantExpression = Expression.Constant(new[] { "t1", "t2" }); _queryModel.MainFromClause.FromExpression = constantExpression; _visitor.VisitQueryModel(_queryModel); Assert.That(_visitor.SqlStatementBuilder.SelectProjection, Is.TypeOf(typeof(NamedExpression))); Assert.That(((NamedExpression)_visitor.SqlStatementBuilder.SelectProjection).Expression, Is.TypeOf(typeof(ConstantExpression))); var constantExpressionInSelectProjection = ((ConstantExpression)((NamedExpression)_visitor.SqlStatementBuilder.SelectProjection).Expression); Assert.That(constantExpressionInSelectProjection.Value, Is.EqualTo(constantExpression.Value)); Assert.That(_visitor.SqlStatementBuilder.SqlTables.Count, Is.EqualTo(0)); var expectedDataInfo = _queryModel.SelectClause.GetOutputDataInfo(); Assert.That(((StreamedSequenceInfo)_visitor.SqlStatementBuilder.DataInfo).ItemExpression, Is.SameAs(expectedDataInfo.ItemExpression)); }
public void VisitQueryModel_ConstantExpressionCollection_VisitResultOperatorsIsCalled () { var handlerMock = MockRepository.GenerateStrictMock<IResultOperatorHandler>(); var registry = new ResultOperatorHandlerRegistry(); registry.Register (typeof (TestChoiceResultOperator), handlerMock); var queryModelVisitor = new TestableSqlPreparationQueryModelVisitor (_context, _stageMock, _generator, registry); var constantExpression = Expression.Constant (new[] { "t1", "t2" }); _queryModel.MainFromClause.FromExpression = constantExpression; var resultOperator = new TestChoiceResultOperator (false); _queryModel.ResultOperators.Add (resultOperator); var sqlStatementBuilder = queryModelVisitor.SqlStatementBuilder; handlerMock.Expect ( mock => mock.HandleResultOperator ( Arg<ResultOperatorBase>.Matches (o => o == resultOperator), Arg<SqlStatementBuilder>.Matches (sb => sb == sqlStatementBuilder), Arg<UniqueIdentifierGenerator>.Matches (g => g == _generator), Arg<ISqlPreparationStage>.Matches (s => s == _stageMock), Arg<ISqlPreparationContext>.Matches (c => c != _context))); handlerMock.Replay(); queryModelVisitor.VisitQueryModel (_queryModel); handlerMock.VerifyAllExpectations(); }