public void ModuleManagerRunCalled() { // Have to use a non-mocked container because of IsRegistered<> extension method, Registrations property,and ContainerRegistration var container = new UnityContainer(); var mockedModuleInitializer = new Mock<IModuleInitializer>(); var mockedModuleManager = new Mock<IModuleManager>(); var regionAdapterMappings = new RegionAdapterMappings(); var serviceLocatorAdapter = new UnityServiceLocatorAdapter(container); var regionBehaviorFactory = new RegionBehaviorFactory(serviceLocatorAdapter); container.RegisterInstance<IServiceLocator>(serviceLocatorAdapter); container.RegisterInstance<UnityBootstrapperExtension>(new UnityBootstrapperExtension()); container.RegisterInstance<IModuleCatalog>(new ModuleCatalog()); container.RegisterInstance<IModuleInitializer>(mockedModuleInitializer.Object); container.RegisterInstance<IModuleManager>(mockedModuleManager.Object); container.RegisterInstance<RegionAdapterMappings>(regionAdapterMappings); 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(); mockedModuleManager.Verify(mm => mm.Run(), Times.Once()); }
public void WillNotAddTypesWithDuplicateKeys() { RegionBehaviorFactory factory = new RegionBehaviorFactory(null); factory.AddIfMissing("key1", typeof(MockRegionBehavior)); factory.AddIfMissing("key1", typeof(MockRegionBehavior)); Assert.AreEqual(1, factory.Count()); }
public void CanRegisterType() { RegionBehaviorFactory factory = new RegionBehaviorFactory(null); factory.AddIfMissing("key1", typeof(MockRegionBehavior)); factory.AddIfMissing("key2", typeof(MockRegionBehavior)); Assert.AreEqual(2, factory.Count()); Assert.IsTrue(factory.ContainsKey("key1")); }
public void CanCreateRegisteredType() { var expectedBehavior = new MockRegionBehavior(); RegionBehaviorFactory factory = new RegionBehaviorFactory(new MockServiceLocator() { GetInstance = (t) => expectedBehavior }); factory.AddIfMissing("key1", typeof(MockRegionBehavior)); var behavior = factory.CreateFromKey("key1"); Assert.AreSame(expectedBehavior, behavior); }
private static void CreateAndConfigureServiceLocatorWithDefaultRegionBehaviors() { Mock<ServiceLocatorImplBase> serviceLocator = new Mock<ServiceLocatorImplBase>(); var regionBehaviorFactory = new RegionBehaviorFactory(serviceLocator.Object); serviceLocator.Setup(sl => sl.GetInstance<IRegionBehaviorFactory>()).Returns(new RegionBehaviorFactory(serviceLocator.Object)); ServiceLocator.SetLocatorProvider(() => serviceLocator.Object); }
private static void CreateAndConfigureServiceLocatorWithRegionAdapters() { Mock<ServiceLocatorImplBase> serviceLocator = new Mock<ServiceLocatorImplBase>(); var regionBehaviorFactory = new RegionBehaviorFactory(serviceLocator.Object); serviceLocator.Setup(sl => sl.GetInstance<RegionAdapterMappings>()).Returns(new RegionAdapterMappings()); serviceLocator.Setup(sl => sl.GetInstance<SelectorRegionAdapter>()).Returns(new SelectorRegionAdapter(regionBehaviorFactory)); serviceLocator.Setup(sl => sl.GetInstance<ItemsControlRegionAdapter>()).Returns(new ItemsControlRegionAdapter(regionBehaviorFactory)); serviceLocator.Setup(sl => sl.GetInstance<ContentControlRegionAdapter>()).Returns(new ContentControlRegionAdapter(regionBehaviorFactory)); ServiceLocator.SetLocatorProvider(() => serviceLocator.Object); }
private static void SetupMockedContainerForVerificationTests(Mock<IUnityContainer> mockedContainer) { var mockedModuleInitializer = new Mock<IModuleInitializer>(); var mockedModuleManager = new Mock<IModuleManager>(); var regionAdapterMappings = new RegionAdapterMappings(); var serviceLocatorAdapter = new UnityServiceLocatorAdapter(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<LifetimeManager>())); mockedContainer.Setup(c => c.Resolve(typeof(UnityBootstrapperExtension), (string)null)).Returns( new UnityBootstrapperExtension()); 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)); }
private static void SetupRegionBehaviorAdapters(CompositionContainer container) { var regionBehaviorFactory = new RegionBehaviorFactory(new MefServiceLocatorAdapter(container)); container.ComposeExportedValue<SelectorRegionAdapter>(new SelectorRegionAdapter(regionBehaviorFactory)); container.ComposeExportedValue<ItemsControlRegionAdapter>(new ItemsControlRegionAdapter(regionBehaviorFactory)); container.ComposeExportedValue<ContentControlRegionAdapter>(new ContentControlRegionAdapter(regionBehaviorFactory)); container.ComposeExportedValue<RegionAdapterMappings>(new RegionAdapterMappings()); }
public void CreateWithUnknownKeyThrows() { RegionBehaviorFactory factory = new RegionBehaviorFactory(null); factory.CreateFromKey("Key1"); }
public void AddTypeThatDoesNotInheritFromIRegionBehaviorThrows() { RegionBehaviorFactory factory = new RegionBehaviorFactory(null); factory.AddIfMissing("key1", typeof(object)); }