public override LuceneSession <TModel> OpenSession() { ISession <TModel> nativeSession = luceneDataProvider.OpenSession(documentMapper); LuceneSession <TModel> session = new LuceneSession <TModel>(nativeSession); return(session); }
public void SetUp() { mapper = MockRepository.GenerateStrictMock<IDocumentMapper<Record>>(); writer = MockRepository.GenerateStrictMock<IIndexWriter>(); context = MockRepository.GenerateStub<Context>(null, new object()); session = new LuceneSession<Record>(mapper, writer, context, null); mapper.Expect(m => m.ToKey(Arg<Record>.Is.NotNull)) .WhenCalled(mi => mi.ReturnValue = new DocumentKey(new Dictionary<IFieldMappingInfo, object> { { new FakeFieldMappingInfo { FieldName = "Id"}, ((Record)mi.Arguments[0]).Id } })) .Repeat.Any(); }
public void Query_Attaches() { var records = new Record[0].AsQueryable(); var provider = MockRepository.GenerateStrictMock <IQueryProvider>(); var queryable = MockRepository.GenerateStrictMock <IQueryable <Record> >(); queryable.Expect(q => q.Provider).Return(provider); queryable.Expect(q => q.Expression).Return(Expression.Constant(records)); provider.Expect(p => p.CreateQuery <Record>(Arg <Expression> .Is.NotNull)).Return(records); session = new LuceneSession <Record>(mapper, detector, writer, context, queryable); session.Query(); queryable.VerifyAllExpectations(); provider.VerifyAllExpectations(); }
public void SetUp() { mapper = MockRepository.GenerateStrictMock <IDocumentMapper <Record> >(); writer = MockRepository.GenerateStrictMock <IIndexWriter>(); context = MockRepository.GenerateStub <Context>(null, new object()); session = new LuceneSession <Record>(mapper, writer, context, null); mapper.Expect(m => m.ToKey(Arg <Record> .Is.NotNull)) .WhenCalled(mi => mi.ReturnValue = new DocumentKey(new Dictionary <IFieldMappingInfo, object> { { new FakeFieldMappingInfo { FieldName = "Id" }, ((Record)mi.Arguments[0]).Id } })) .Repeat.Any(); }
public ISession Get <TModel>(IDao <TModel> dao, string sessionAlias) { Type daoType = dao.GetType(); Type baseParameterizedType = typeof(ILuceneDao <TModel>); bool isAssignableFrom = baseParameterizedType.IsAssignableFrom(daoType); if (!isAssignableFrom) { return(null); } ISessionProviderFactory <LuceneSession <TModel> > sessionProviderFactory = serviceRegistry.Get <ISessionProviderFactory <LuceneSession <TModel> > >(); ISessionProvider <LuceneSession <TModel> > sessionProvider = sessionProviderFactory.Build(sessionAlias); LuceneSession <TModel> luceneSession = sessionProvider.Current(); return(luceneSession); }
public void Query_Attaches() { var records = new Record[0].AsQueryable(); var provider = MockRepository.GenerateStrictMock<IQueryProvider>(); var queryable = MockRepository.GenerateStrictMock<IQueryable<Record>>(); queryable.Expect(q => q.Provider).Return(provider); queryable.Expect(q => q.Expression).Return(Expression.Constant(records)); provider.Expect(p => p.CreateQuery<Record>(Arg<Expression>.Is.NotNull)).Return(records); session = new LuceneSession<Record>(mapper, context, queryable); session.Query(); queryable.VerifyAllExpectations(); provider.VerifyAllExpectations(); }
public override void CloseSession(LuceneSession <TModel> session) { session.Dispose(); }