public void CanAttachBeforeSettingName() { var region = new MockPresentationRegion() { Name = null }; var viewFactory = new MockRegionContentRegistry(); var view = new object(); viewFactory.GetContentsReturnValue.Add(view); var behavior = new AutoPopulateRegionBehavior(viewFactory) { Region = region }; behavior.Attach(); Assert.IsFalse(viewFactory.GetContentsCalled); region.Name = "MyRegion"; Assert.IsTrue(viewFactory.GetContentsCalled); Assert.AreEqual("MyRegion", viewFactory.GetContentsArgumentRegionName); Assert.AreEqual(1, region.MockViews.Items.Count); Assert.AreEqual(view, region.MockViews.Items[0]); }
/// <summary> /// Initializes a new instance of <see cref="VisualizingRegionManagerRegistrationBehavior"/>. /// </summary> public VisualizingRegionManagerRegistrationBehavior(VisualizingRegion visualizingRegion , AutoPopulateRegionBehavior autoPopulateRegionBehavior) { this.visualizingRegion = visualizingRegion; this.autoPopulateRegionBehavior = autoPopulateRegionBehavior; this.RegionManagerAccessor = new DefaultRegionManagerAccessor(); }
public void NullRegionThrows() { var ex = Assert.Throws <InvalidOperationException>(() => { var behavior = new AutoPopulateRegionBehavior(new MockRegionContentRegistry()); behavior.Attach(); }); }
private MockServiceLocator GetServiceLocator(string[] defaultRegions) { MockServiceLocator locator = new MockServiceLocator(); var regionViewRegistry = new RegionViewRegistry(locator); var behavior = new AutoPopulateRegionBehavior(regionViewRegistry); var regionBehaviorFactory = new RegionBehaviorFactory(locator); regionBehaviorFactory.AddIfMissing(AutoPopulateRegionBehavior.BehaviorKey, typeof(AutoPopulateRegionBehavior)); var regionManager = new RegionManager(regionBehaviorFactory); locator.GetInstance = (type) => { if (type == typeof(IRegionManager)) { return(regionManager); } if (type == typeof(IRegionViewRegistry)) { return(regionViewRegistry); } if (type == typeof(AutoPopulateRegionBehavior)) { return(behavior); } if (type == typeof(IRegionBehaviorFactory)) { return(regionBehaviorFactory); } if (type == typeof(IServiceLocator)) { return(locator); } if (type == typeof(MockView)) { return(new MockView()); } if (type == typeof(object)) { return(new object()); } return(null); }; foreach (var region in defaultRegions) { regionManager.Regions.Add(new MockRegion { Name = region }); } return(locator); }
public void ShouldGetViewsFromRegistryWhenRegisteringItAfterAttach() { var region = new MockPresentationRegion() { Name = "MyRegion" }; var viewFactory = new MockRegionContentRegistry(); var behavior = new AutoPopulateRegionBehavior(viewFactory) { Region = region }; var view = new object(); behavior.Attach(); viewFactory.GetContentsReturnValue.Add(view); viewFactory.RaiseContentRegistered("MyRegion", view); Assert.AreEqual("MyRegion", viewFactory.GetContentsArgumentRegionName); Assert.AreEqual(1, region.MockViews.Items.Count); Assert.AreEqual(view, region.MockViews.Items[0]); }
public void ShouldGetViewsFromRegistryOnAttach() { var region = new MockPresentationRegion() { Name = "MyRegion" }; var viewFactory = new MockRegionContentRegistry(); var view = new object(); viewFactory.GetContentsReturnValue.Add(view); var behavior = new AutoPopulateRegionBehavior(viewFactory) { Region = region }; behavior.Attach(); Assert.Equal("MyRegion", viewFactory.GetContentsArgumentRegionName); Assert.Single(region.MockViews.Items); Assert.Equal(view, region.MockViews.Items[0]); }
public void NullRegionThrows() { var behavior = new AutoPopulateRegionBehavior(new MockRegionContentRegistry()); behavior.Attach(); }