private static void SetupMockedContainerForVerificationTests(Mock <IWindsorContainer> mockedContainer) { var mockedModuleInitializer = new Mock <IModuleInitializer>(); var mockedModuleManager = new Mock <IModuleManager>(); var regionAdapterMappings = new RegionAdapterMappings(); var serviceLocatorAdapter = new CastleWindsorServiceLocatorAdapter(mockedContainer.Object); var regionBehaviorFactory = new RegionBehaviorFactory(serviceLocatorAdapter); mockedContainer.Setup(c => c.Resolve(typeof(IServiceLocator), (string)null)).Returns(serviceLocatorAdapter); //mockedContainer.Setup(c => c.RegisterInstance(It.IsAny<Type>(), It.IsAny<string>(), It.IsAny<object>(), It.IsAny<IInstanceLifetimeManager>())); mockedContainer.Setup(c => c.Resolve(typeof(IModuleCatalog), (string)null)).Returns( new ModuleCatalog()); mockedContainer.Setup(c => c.Resolve(typeof(IModuleInitializer), (string)null)).Returns( mockedModuleInitializer.Object); mockedContainer.Setup(c => c.Resolve(typeof(IModuleManager), (string)null)).Returns( mockedModuleManager.Object); mockedContainer.Setup(c => c.Resolve(typeof(RegionAdapterMappings), (string)null)).Returns( regionAdapterMappings); mockedContainer.Setup(c => c.Resolve(typeof(SelectorRegionAdapter), (string)null)).Returns( new SelectorRegionAdapter(regionBehaviorFactory)); mockedContainer.Setup(c => c.Resolve(typeof(ItemsControlRegionAdapter), (string)null)).Returns( new ItemsControlRegionAdapter(regionBehaviorFactory)); mockedContainer.Setup(c => c.Resolve(typeof(ContentControlRegionAdapter), (string)null)).Returns( new ContentControlRegionAdapter(regionBehaviorFactory)); }
public void ModuleManagerRunCalled() { // Have to use a non-mocked container because of IsRegistered<> extension method, Registrations property,and ContainerRegistration var container = new WindsorContainer(); var mockedModuleInitializer = new Mock <IModuleInitializer>(); var mockedModuleManager = new Mock <IModuleManager>(); var regionAdapterMappings = new RegionAdapterMappings(); var serviceLocatorAdapter = new CastleWindsorServiceLocatorAdapter(container); var regionBehaviorFactory = new RegionBehaviorFactory(serviceLocatorAdapter); container.Register(Component.For(typeof(IServiceLocator)).Instance(serviceLocatorAdapter).LifeStyle.Transient); container.Register(Component.For(typeof(IModuleCatalog)).Instance(mockedModuleInitializer.Object).LifeStyle.Transient); container.Register(Component.For(typeof(IModuleInitializer)).Instance(new ModuleCatalog()).LifeStyle.Transient); container.Register(Component.For(typeof(IModuleManager)).Instance(mockedModuleManager.Object).LifeStyle.Transient); container.Register(Component.For(typeof(RegionAdapterMappings)).Instance(regionAdapterMappings).LifeStyle.Transient); //container.RegisterInstance<IServiceLocator>(serviceLocatorAdapter); //container.RegisterInstance<IModuleCatalog>(new ModuleCatalog()); //container.RegisterInstance<IModuleInitializer>(mockedModuleInitializer.Object); //container.RegisterInstance<IModuleManager>(mockedModuleManager.Object); //container.RegisterInstance<RegionAdapterMappings>(regionAdapterMappings); container.RegisterType <RegionAdapterMappings, RegionAdapterMappings>(true); container.RegisterType <IRegionManager, RegionManager>(true); container.RegisterType <IRegionViewRegistry, EventAggregator>(true); container.RegisterType <IRegionViewRegistry, RegionViewRegistry>(true); container.RegisterType <IRegionBehaviorFactory, RegionBehaviorFactory>(true); container.RegisterType <IRegionNavigationJournalEntry, RegionNavigationJournalEntry>(true); container.RegisterType <IRegionNavigationJournal, RegionNavigationJournal>(true); container.RegisterType <IRegionNavigationService, RegionNavigationService>(true); container.RegisterType <IRegionNavigationContentLoader, CastleWindsorRegionNavigationContentLoader>(true); //container.RegisterSingleton(typeof(RegionAdapterMappings), typeof(RegionAdapterMappings)); //container.RegisterSingleton(typeof(IRegionManager), typeof(RegionManager)); //container.RegisterSingleton(typeof(IEventAggregator), typeof(EventAggregator)); //container.RegisterSingleton(typeof(IRegionViewRegistry), typeof(RegionViewRegistry)); //container.RegisterSingleton(typeof(IRegionBehaviorFactory), typeof(RegionBehaviorFactory)); //container.RegisterSingleton(typeof(IRegionNavigationJournalEntry), typeof(RegionNavigationJournalEntry)); //container.RegisterSingleton(typeof(IRegionNavigationJournal), typeof(RegionNavigationJournal)); //container.RegisterSingleton(typeof(IRegionNavigationService), typeof(RegionNavigationService)); //container.RegisterSingleton(typeof(IRegionNavigationContentLoader), typeof(global::Prism.Regions.CastleWindsorRegionNavigationContentLoader)); container.RegisterInstance <SelectorRegionAdapter, SelectorRegionAdapter>(new SelectorRegionAdapter(regionBehaviorFactory)); container.RegisterInstance <ItemsControlRegionAdapter, ItemsControlRegionAdapter>(new ItemsControlRegionAdapter(regionBehaviorFactory)); container.RegisterInstance <ContentControlRegionAdapter, ContentControlRegionAdapter>(new ContentControlRegionAdapter(regionBehaviorFactory)); //container.RegisterInstance<SelectorRegionAdapter>(new SelectorRegionAdapter(regionBehaviorFactory)); //container.RegisterInstance<ItemsControlRegionAdapter>(new ItemsControlRegionAdapter(regionBehaviorFactory)); //container.RegisterInstance<ContentControlRegionAdapter>(new ContentControlRegionAdapter(regionBehaviorFactory)); var bootstrapper = new MockedContainerBootstrapper(container); bootstrapper.Run(false); mockedModuleManager.Verify(mm => mm.Run(), Times.Once()); }
public void ShouldForwardResolveToInnerContainer() { object myInstance = new object(); IWindsorContainer container = new MockUnityContainer() { ResolveMethod = delegate { return(myInstance); } }; IServiceLocator containerAdapter = new CastleWindsorServiceLocatorAdapter(container); Assert.Same(myInstance, containerAdapter.GetInstance(typeof(object))); }
public void ShouldForwardResolveAllToInnerContainer() { IEnumerable <object> list = new List <object> { new object(), new object() }; IWindsorContainer container = new MockUnityContainer() { ResolveMethod = delegate { return(list); } }; IServiceLocator containerAdapter = new CastleWindsorServiceLocatorAdapter(container); Assert.Same(list, containerAdapter.GetAllInstances(typeof(object))); }