public void ShouldThrowNoContainerExceptionWhenResolvingSimpleTypeBeforeInitializingTheContainer() { //Arrange var containerExtension = new WindsorExtension(registrationHelper, options); //Act var result = ExceptionAssert.Throws <NoContainerException>(() => containerExtension.Resolve <object>()); //Assert Assert.AreEqual(NoContainerException.DefaultMessage, result.Message); }
public void ShouldRegisterWithConventionAndWithRegistration() { //Arrange var assembly = Assembly.GetAssembly(typeof(TestWindsorRegistration)); A.CallTo(() => registrationHelper.GetAssemblies()).Returns(new List <Assembly> { assembly }); var containerExtension = new WindsorExtension(registrationHelper, options); A.CallTo(() => options.AutoRegistration).Returns(true); //Act containerExtension.Run(); //Assert A.CallTo(() => registrationHelper.GetAssemblies()).MustHaveHappened(); Assert.IsNotNull(containerExtension.Resolve <WindsorExtension>()); Assert.IsNotNull(containerExtension.Resolve <IRegisteredByConvention>()); }
public void ShouldInvokeTheRegisterMethodOfAllIBootstrapperRegistrationTypes() { //Arrange var assembly = Assembly.GetAssembly(typeof(AutoMapperRegistration)); A.CallTo(() => registrationHelper.GetAssemblies()).Returns(new List <Assembly> { assembly }); var containerExtension = new WindsorExtension(registrationHelper, options); //Act containerExtension.Run(); //Assert A.CallTo(() => registrationHelper.GetAssemblies()).MustHaveHappened(); Assert.IsNotNull(containerExtension.Resolve <IProfileExpression>()); }
public void ShouldResolveASingleType() { //Arrange var containerExtension = new WindsorExtension(registrationHelper, options); var container = A.Fake <IWindsorContainer>(); var instance = new object(); A.CallTo(() => container.AddFacility <FactorySupportFacility>()).Returns(container); A.CallTo(() => container.Resolve <object>()).Returns(instance); containerExtension.InitializeContainer(container); //Act var result = containerExtension.Resolve <object>(); //Assert A.CallTo(() => container.Resolve <object>()).MustHaveHappened(); Assert.IsNotNull(result); Assert.AreSame(instance, result); }
public void ShouldInvokeTheInstallMethodOfAllIWindsorInstallerTypes() { //Arrange var assembly = Assembly.GetAssembly(typeof(TestWindsorInstaller)); A.CallTo(() => registrationHelper.GetAssemblies()).Returns(new List <Assembly> { assembly }); var containerExtension = new WindsorExtension(registrationHelper, options); //Act containerExtension.Run(); var result = containerExtension.Resolve <ITestInterface>(); //Assert A.CallTo(() => registrationHelper.GetAssemblies()).MustHaveHappened(); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(ITestInterface)); }
public void Run_WhenInvokedAndAutoMapperExtensionIsLoaded_ShouldRegisterMapperAsSingelton() { //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 WindsorExtension(registrationHelper, options); //Act containerExtension.Run(); //Assert Assert.AreSame(Mapper.Configuration, containerExtension.Resolve <IProfileExpression>()); Assert.AreSame(Mapper.Engine, containerExtension.Resolve <IMappingEngine>()); Assert.AreSame(containerExtension.Resolve <IProfileExpression>(), containerExtension.Resolve <IProfileExpression>()); Assert.AreSame(containerExtension.Resolve <IMappingEngine>(), containerExtension.Resolve <IMappingEngine>()); }