예제 #1
0
        public IServiceLocator GetContainer(DotlessConfiguration configuration)
        {
            Container = new PandoraContainer();

            Container.Register(pandora => RegisterServices(pandora, configuration));

            return new CommonServiceLocatorAdapter(Container);
        }
예제 #2
0
        public IServiceLocator GetContainer(DotlessConfiguration configuration)
        {
            Container = new PandoraContainer();

            Container.Register(pandora => RegisterServices(pandora, configuration));

            return(new CommonServiceLocatorAdapter(Container));
        }
        public void CanRegisterOnContainerWithoutStore()
        {
            container.Register(p => p.Service <IService>()
                               .Implementor <ClassWithNoDependencies>());

            var service = container.Resolve <IService>();

            Assert.IsType <ClassWithNoDependencies>(service);
        }
예제 #4
0
        public void RetrievalByNameThrowsExceptionWhenNameNotRegistered()
        {
            var store = new ComponentStore();
            var container = new PandoraContainer(store);
            //To make it lookup something
            container.Register(p =>
                p.Service<ClassWithNoDependencies>()
                    .Implementor<ClassWithNoDependencies>());

            Assert.Throws<ServiceNotFoundException>(() => container.Resolve<ClassWithNoDependencies>("test"));
        }
예제 #5
0
        public void RetrievalByNameThrowsExceptionWhenNameNotRegistered()
        {
            var store     = new ComponentStore();
            var container = new PandoraContainer(store);

            //To make it lookup something
            container.Register(p =>
                               p.Service <ClassWithNoDependencies>()
                               .Implementor <ClassWithNoDependencies>());

            Assert.Throws <ServiceNotFoundException>(() => container.Resolve <ClassWithNoDependencies>("test"));
        }
예제 #6
0
        private PandoraContainer CreateContainer(DotlessConfiguration configuration)
        {
            var container = new PandoraContainer();
            container.Register(p =>
                                   {
                                       p.Service<ILessSource>()
                                           .Implementor(configuration.LessSource);
                                       p.Service<ICache>()
                                           .Implementor<CssCache>();
                                       p.Service<IRequest>()
                                           .Implementor<Request>();
                                       p.Service<IResponse>()
                                           .Implementor<CssResponse>();

                                       if (configuration.CacheEnabled)
                                       {
                                           p.Service<ILessEngine>()
                                               .Implementor<AspCacheDecorator>();
                                       }
                                   });

            return RegisterCoreServices(container, configuration);
        }
예제 #7
0
 private PandoraContainer RegisterCoreServices(PandoraContainer container, DotlessConfiguration configuration)
 {
     container.Register(p =>
                            {
                                if (configuration.MinifyOutput)
                                {
                                    p.Service<ILessEngine>()
                                        .Implementor<MinifierDecorator>();
                                }
                                p.Service<ILessEngine>()
                                    .Implementor<ExtensibleEngine>();
                                p.Service<ILessSource>()
                                    .Implementor<FileSource>();
                            });
     return container;
 }