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();
        }
Example #3
0
        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();
        }
Example #4
0
        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();
 }