public void Resolve_Concrete_Type_With_Params() { var container = new IdiocyContainer(); container.Register<Component, IService>(); container.Register<ComponentWithParams, IServiceWithParams>(); var component = container.Resolve<IServiceWithParams>(); Assert.AreEqual(typeof(ComponentWithParams), component.GetType()); Assert.AreEqual(typeof(Component), component.Service.GetType()); }
public void Transient_Instances_Are_Unique() { var container = new IdiocyContainer(); container.Register<Component, IService>(); var service1 = container.Resolve<IService>(); var service2 = container.Resolve<IService>(); Assert.AreNotSame(service1, service2); }
public void Singleton_Instances_Are_Same() { var container = new IdiocyContainer(); container.Register<Component, IService>(Lifetime.Singleton); var service1 = container.Resolve<IService>(); var service2 = container.Resolve<IService>(); Assert.AreSame(service1, service2); }