public void CachedLifetimeCanBeSetAsDefaultLifetime() { using (var container = new IocContainer(() => new CachedLifetime())) { Assert.IsInstanceOfType(container.DefaultLifetimeFactory(), typeof(CachedLifetime)); } }
public void CanSetDefaultLifetimeToRequestLifetime() { using (var container = new IocContainer(() => new RequestLifetime())) { Assert.IsInstanceOfType(container.DefaultLifetimeFactory(), typeof(RequestLifetime)); } }
public void ContainerCanSetDefaultsUsingTheConstructor() { Func<ILifetime> lifetimeFactory = () => new ContainerLifetime(); var compileMode = CompileMode.Dynamic; var index = new DirectIndex(); using (var container = new IocContainer(lifetimeFactory, compileMode, index)) { Assert.IsInstanceOfType(container.DefaultLifetimeFactory(), typeof(ContainerLifetime)); Assert.IsTrue(compileMode == container.DefaultCompileMode); Assert.AreSame(index, container.Index); } }
public void ContainerIsCreatedWithCorrectDefaults() { using (var container = new IocContainer()) { // Default Lifetime Assert.IsInstanceOfType(container.DefaultLifetimeFactory(), typeof(TransientLifetime)); // Default CompileMode Assert.IsTrue(container.DefaultCompileMode == CompileMode.Delegate); // Default Index Assert.IsInstanceOfType(container.Index, typeof(DirectIndex)); } }
public void CanChangeLifetimeUsingSetLifetime() { using (var container = new IocContainer(() => new TransientLifetime())) { Assert.IsInstanceOfType(container.DefaultLifetimeFactory(), typeof(TransientLifetime)); var registration = container.Register<IFoo>(c => new Foo1()).SetLifetime(new ContainerLifetime()); Assert.IsInstanceOfType(registration.Lifetime, typeof(ContainerLifetime)); var foo1 = container.Resolve<IFoo>(); var foo2 = container.Resolve<IFoo>(); Assert.AreSame(foo1, foo2); } }
public void ContainerUsesTheDefaultLifetimeSetWhenRegistering() { // Make sure the set lifetime is not the default - if changed in the future !? // Create a default IocContainer and check that the default lifetime is not ContainerLifetime? using (var container = new IocContainer(() => new ContainerLifetime())) { var defaultLifetime = container.DefaultLifetimeFactory(); // Default Lifetime Assert.IsInstanceOfType(defaultLifetime, typeof(ContainerLifetime)); var result1 = container.Register<IFoo>(c => new Foo1()); var result2 = container.Register<IBar>(c => new Bar1()); Assert.IsInstanceOfType(result1.Lifetime, typeof(ContainerLifetime)); Assert.IsInstanceOfType(result2.Lifetime, typeof(ContainerLifetime)); } }
public void ContainerUsesTheDefaultLifetimeWhenRegistering() { using (var container = new IocContainer(() => new ContainerLifetime())) { var defaultLifetime = container.DefaultLifetimeFactory(); // Default Lifetime Assert.IsInstanceOfType(defaultLifetime, typeof(ContainerLifetime)); // Try registering with all Register methods using lifetime var result1 = container.Register<IFoo>(c => new Foo1()); var result2 = container.Register<IFoo, Foo1>("Key1"); var result3 = container.Register(typeof(IFoo), typeof(Foo1), "Key2"); Assert.IsInstanceOfType(result1.Lifetime, typeof(ContainerLifetime)); Assert.IsInstanceOfType(result2.Lifetime, typeof(ContainerLifetime)); Assert.IsInstanceOfType(result3.Lifetime, typeof(ContainerLifetime)); } }