public void ShouldRegisterAllTypesOfIBootstrapperRegistration() { //Arrange var assembly = Assembly.GetAssembly(typeof(AutoMapperRegistration)); A.CallTo(() => registrationHelper.GetAssemblies()) .Returns(new List <Assembly> { assembly }); A.CallTo(() => registrationHelper.GetTypesImplementing <IBootstrapperRegistration>(assembly)) .Returns(new List <Type> { typeof(AutoMapperRegistration) }); var containerExtension = new UnityExtension(registrationHelper, options); //Act containerExtension.Run(); var result = containerExtension.ResolveAll <IBootstrapperRegistration>(); //Assert A.CallTo(() => registrationHelper.GetAssemblies()).MustHaveHappened(); A.CallTo(() => registrationHelper.GetTypesImplementing <IBootstrapperRegistration>(assembly)).MustHaveHappened(); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(IEnumerable <IBootstrapperRegistration>)); Assert.IsTrue(result.Count > 0); Assert.IsTrue(result[0] is AutoMapperRegistration); }
public void ShouldThrowNoContainerExceptionWhenResolvingMultipleTypesBeforeInitializingTheContainer() { //Arrange var containerExtension = new UnityExtension(registrationHelper, options); //Act var result = ExceptionAssert.Throws <NoContainerException>(() => containerExtension.ResolveAll <object>()); //Assert Assert.AreEqual(NoContainerException.DefaultMessage, result.Message); }
public void ShouldResolveMultipleTypes() { //Arrange var containerExtension = new UnityExtension(registrationHelper, options); var container = new UnityContainer(); var instance1 = new object(); var instance2 = new object(); container.RegisterInstance("Name1", instance1); container.RegisterInstance("Name2", instance2); containerExtension.InitializeContainer(container); //Act var result = containerExtension.ResolveAll <object>(); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Any(o => o == instance1)); Assert.IsTrue(result.Any(o => o == instance2)); }