public void Register_Type_With_Transient_LifetimeType_Test() { var containerService = new IoCContainerService(); containerService.Register<ITestTypeOne, TestTypeOne>(Common.Enums.LifetimeType.Transient); Assert.IsTrue(containerService.Container.TypeResolver.ContainsKey(typeof(ITestTypeOne)) && containerService.Container.TypeResolver[typeof(ITestTypeOne)].Item2 == Common.Enums.LifetimeType.Transient); }
public void Resolve_Singleton_Type_Test() { var containerService = new IoCContainerService(); containerService.Register<ITestTypeOne, TestTypeOne>(Common.Enums.LifetimeType.Singleton); var implementationOne = containerService.Resolve<ITestTypeOne>(); var implementationTwo = containerService.Resolve<ITestTypeOne>(); Assert.IsTrue(implementationOne is TestTypeOne && implementationTwo is TestTypeOne && implementationOne == implementationTwo); }
public void Resolve_Default_Type_Test() { var containerService = new IoCContainerService(); containerService.Register<ITestTypeOne, TestTypeOne>(); var implementationOne = containerService.Resolve<ITestTypeOne>(); var implementationTwo = containerService.Resolve<ITestTypeOne>(); Assert.IsTrue(implementationOne is TestTypeOne && implementationTwo is TestTypeOne && implementationOne != implementationTwo); }
public void Resolve_Unknown_Type_Test() { var containerService = new IoCContainerService(); containerService.Resolve<ITestTypeOne>(); }
public void Resolve_Type_With_Resolvable_Constructor_Arguements_Test() { var containerService = new IoCContainerService(); containerService.Register<ITestTypeOne, TestTypeOne>(); containerService.Register<ITestTypeWithParameterConstructor, TestTypeWithParameterConstructor>(); var implementation = containerService.Resolve<ITestTypeWithParameterConstructor>(); Assert.IsTrue(implementation is TestTypeWithParameterConstructor && implementation.TestTypeOne is TestTypeOne); }