public void RegisterAMappingThatAlreadyExistsThrows() { var regionAdapterMappings = new RegionAdapterMappings(); var regionAdapter = new MockRegionAdapter(); regionAdapterMappings.RegisterMapping(typeof(ItemsControl), regionAdapter); regionAdapterMappings.RegisterMapping(typeof(ItemsControl), regionAdapter); }
public void ShouldGetMappingForDerivedTypesThanTheRegisteredOnes() { var regionAdapterMappings = new RegionAdapterMappings(); var regionAdapter = new MockRegionAdapter(); regionAdapterMappings.RegisterMapping(typeof(ItemsControl), regionAdapter); var returnedAdapter = regionAdapterMappings.GetMapping(typeof(ItemsControlDescendant)); Assert.IsNotNull(returnedAdapter); Assert.AreSame(regionAdapter, returnedAdapter); }
public void RegisterAMappingThatAlreadyExistsThrows() { var ex = Assert.Throws<InvalidOperationException>(() => { var regionAdapterMappings = new RegionAdapterMappings(); var regionAdapter = new MockRegionAdapter(); regionAdapterMappings.RegisterMapping(typeof(ItemsControl), regionAdapter); regionAdapterMappings.RegisterMapping(typeof(ItemsControl), regionAdapter); }); }
public void ShouldGetRegisteredMapping() { var regionAdapterMappings = new RegionAdapterMappings(); Type registeredType = typeof(ItemsControl); var regionAdapter = new MockRegionAdapter(); regionAdapterMappings.RegisterMapping(registeredType, regionAdapter); var returnedAdapter = regionAdapterMappings.GetMapping(registeredType); Assert.IsNotNull(returnedAdapter); Assert.AreSame(regionAdapter, returnedAdapter); }
public void ShouldGetRegisteredMapping_UsingGenericControl() { var regionAdapterMappings = new RegionAdapterMappings(); var regionAdapter = new MockRegionAdapter(); regionAdapterMappings.RegisterMapping<ItemsControl>(regionAdapter); var returnedAdapter = regionAdapterMappings.GetMapping<ItemsControl>(); Assert.NotNull(returnedAdapter); Assert.Same(regionAdapter, returnedAdapter); }
public void ShouldGetTheMostSpecializedMapping() { var regionAdapterMappings = new RegionAdapterMappings(); var genericAdapter = new MockRegionAdapter(); var specializedAdapter = new MockRegionAdapter(); regionAdapterMappings.RegisterMapping(typeof(ItemsControl), genericAdapter); regionAdapterMappings.RegisterMapping(typeof(ItemsControlDescendant), specializedAdapter); var returnedAdapter = regionAdapterMappings.GetMapping(typeof(ItemsControlDescendant)); Assert.IsNotNull(returnedAdapter); Assert.AreSame(specializedAdapter, returnedAdapter); }
public void ShouldAttachNewRegionByUsingRegisteredRegionAdapterMappings() { var mappings = new RegionAdapterMappings(); var mockRegionAdapter = new MockRegionAdapter(); mappings.RegisterMapping(typeof(DependencyObject), mockRegionAdapter); var regionManager = new RegionManager(mappings); var control = new ContentControl(); regionManager.AttachNewRegion(control, "TestRegionName"); Assert.IsTrue(mockRegionAdapter.InitializeCalled); Assert.AreEqual(control, mockRegionAdapter.InitializeArgument); }
public void ShouldGetRegisteredMapping_UsingGenericControlAndAdapter() { try { var regionAdapterMappings = new RegionAdapterMappings(); var regionAdapter = new MockRegionAdapter(); ServiceLocator.SetLocatorProvider(() => new MockServiceLocator { GetInstance = t => regionAdapter }); regionAdapterMappings.RegisterMapping<ItemsControl, MockRegionAdapter>(); var returnedAdapter = regionAdapterMappings.GetMapping<ItemsControl>(); Assert.NotNull(returnedAdapter); Assert.Same(regionAdapter, returnedAdapter); } finally { ServiceLocator.SetLocatorProvider(null); } }
private DelayedRegionCreationBehavior GetBehavior(DependencyObject control, MockRegionManagerAccessor accessor, MockRegionAdapter adapter) { var mappings = new RegionAdapterMappings(); mappings.RegisterMapping(control.GetType(), adapter); var behavior = new DelayedRegionCreationBehavior(mappings); behavior.RegionManagerAccessor = accessor; behavior.TargetElement = control; return(behavior); }
public void NullControlThrows() { var regionAdapterMappings = new RegionAdapterMappings(); var regionAdapter = new MockRegionAdapter(); regionAdapterMappings.RegisterMapping(null, regionAdapter); }