Example #1
0
 public void Can_register_service_level_component_at_service_scope_creation_and_resolve_in_service_scope()
 {
     var hostScope = new ContainerBuilder().Build(ContainerBuildOptions.Default).BeginLifetimeScope(DreamContainerScope.Host);
     var serviceScope = hostScope.BeginLifetimeScope(DreamContainerScope.Service, b => b.RegisterType<Foo>().As<IFoo>().ServiceScoped());
     var foo = serviceScope.Resolve<IFoo>();
     Assert.IsNotNull(foo);
 }
Example #2
0
 public void Cannot_resolve_RequestScoped_component_registered_at_service_scope_creation_in_service_scope()
 {
     var hostScope = new ContainerBuilder().Build(ContainerBuildOptions.Default).BeginLifetimeScope(DreamContainerScope.Host);
     var serviceScope = hostScope.BeginLifetimeScope(DreamContainerScope.Service, b => b.RegisterType<Foo>().As<IFoo>().RequestScoped());
     try {
         var foo = serviceScope.Resolve<IFoo>();
     } catch(DependencyResolutionException e) {
         return;
     }
     Assert.Fail("resolved component in wrong scope");
 }
        public void Build_SingleActionRegistered()
        {
            var builder = new ConfigurationActionBuilder();
            builder.Add(b => b.RegisterType<StubDependency1Impl1>().As<IStubDependency1>());
            var built = builder.Build();

            var container = new ContainerBuilder().Build();
            using (var scope = container.BeginLifetimeScope(built))
            {
                Assert.IsInstanceOf<StubDependency1Impl1>(scope.Resolve<IStubDependency1>(), "The registered lambda did not execute.");
            }
        }
Example #4
0
 public void Last_registration_wins()
 {
     var hostScope = new ContainerBuilder().Build(ContainerBuildOptions.Default).BeginLifetimeScope(DreamContainerScope.Host);
     var serviceScope = hostScope.BeginLifetimeScope(DreamContainerScope.Service, b => {
         b.RegisterType<Foo>().As<IFoo>().ServiceScoped();
         b.RegisterType<Fu>().As<IFoo>().ServiceScoped();
     });
     var foo = serviceScope.Resolve<IFoo>();
     Assert.AreEqual(typeof(Fu), foo.GetType());
 }
Example #5
0
 public void Last_module_wins()
 {
     var hostScope = new ContainerBuilder().Build(ContainerBuildOptions.None).BeginLifetimeScope(DreamContainerScope.Host);
     var serviceScope = hostScope.BeginLifetimeScope(DreamContainerScope.Service, b => {
         b.RegisterModule(new FooModule());
         b.RegisterModule(new FuModule());
     });
     var foo = serviceScope.Resolve<IFoo>();
     Assert.AreEqual(typeof(Fu), foo.GetType());
 }