public void ShouldRemoveContextToViewRemovedFromRegion() { var behavior = new BindRegionContextToDependencyObjectBehavior(); var region = new MockPresentationRegion(); var view = new MockDependencyObject(); region.Add(view); behavior.Region = region; region.Context = "MyContext"; behavior.Attach(); region.Remove(view); var context = RegionContext.GetObservableContext(view); Assert.IsNull(context.Value); }
public void ShouldSetRegionContextOnAlreadyAddedViews() { var behavior = new BindRegionContextToDependencyObjectBehavior(); var region = new MockPresentationRegion(); var view = new MockDependencyObject(); region.Add(view); behavior.Region = region; region.Context = "MyContext"; behavior.Attach(); var context = RegionContext.GetObservableContext(view); Assert.IsNotNull(context.Value); Assert.AreEqual("MyContext", context.Value); }
public void ShouldSetRegionContextOnContextChange() { var behavior = new BindRegionContextToDependencyObjectBehavior(); var region = new MockPresentationRegion(); var view = new MockDependencyObject(); region.Add(view); behavior.Region = region; region.Context = "MyContext"; behavior.Attach(); Assert.AreEqual("MyContext", RegionContext.GetObservableContext(view).Value); region.Context = "MyNewContext"; region.OnPropertyChange("Context"); Assert.AreEqual("MyNewContext", RegionContext.GetObservableContext(view).Value); }
public async Task ShouldSetRegionContextOnAddedView() { await ExecuteOnUIThread(() => { var behavior = new BindRegionContextToDependencyObjectBehavior(); var region = new MockPresentationRegion(); behavior.Region = region; region.Context = "MyContext"; var view = new MockDependencyObject(); behavior.Attach(); region.Add(view); var context = RegionContext.GetObservableContext(view); Assert.IsNotNull(context.Value); Assert.AreEqual("MyContext", context.Value); }); }
public async Task WhenAViewIsRemovedFromARegion_ThenRegionContextIsNotClearedInRegion() { await ExecuteOnUIThread(() => { var behavior = new BindRegionContextToDependencyObjectBehavior(); var region = new MockPresentationRegion(); behavior.Region = region; behavior.Attach(); var myView = new MockFrameworkElement(); region.Add(myView); region.Context = "new context"; region.Remove(myView); Assert.IsNotNull(region.Context); }); }
public void ViewInRegionCanBeObject() { var behavior = new BindRegionContextToDependencyObjectBehavior(); var region = new MockPresentationRegion(); behavior.Region = region; behavior.Attach(); region.Add(new object()); region.Context = "new context"; }
public void WhenParentViewWithoutScopedRegionGetsActivatedOrDeactivated_ThenSyncedChildViewIsNotUpdated() { var commonRegionManager = new RegionManager(); var nonScopedRegion = new Region { Name="MyRegion", RegionManager = commonRegionManager }; commonRegionManager.Regions.Add(nonScopedRegion); var behaviorForScopedRegion = new RegionActiveAwareBehavior { Region = nonScopedRegion }; behaviorForScopedRegion.Attach(); var childActiveAwareView = new SyncedActiveAwareObject(); var region = new MockPresentationRegion { RegionManager = commonRegionManager }; var behavior = new RegionActiveAwareBehavior { Region = region }; behavior.Attach(); var view = new MockFrameworkElement(); region.Add(view); RegionManager.SetRegionManager(view, commonRegionManager); region.Activate(view); nonScopedRegion.Add(childActiveAwareView); nonScopedRegion.Activate(childActiveAwareView); Assert.IsTrue(childActiveAwareView.IsActive); region.Deactivate(view); Assert.IsTrue(childActiveAwareView.IsActive); }
public void WhenParentViewGetsActivatedOrDeactivated_ThenSyncedChildViewNotInActiveViewsIsNotUpdated() { var scopedRegionManager = new RegionManager(); var scopedRegion = new Region { Name="MyScopedRegion", RegionManager = scopedRegionManager }; scopedRegionManager.Regions.Add(scopedRegion); var behaviorForScopedRegion = new RegionActiveAwareBehavior { Region = scopedRegion }; behaviorForScopedRegion.Attach(); var childActiveAwareView = new SyncedActiveAwareObject(); var region = new MockPresentationRegion(); var behavior = new RegionActiveAwareBehavior { Region = region }; behavior.Attach(); var view = new MockFrameworkElement(); region.Add(view); RegionManager.SetRegionManager(view, scopedRegionManager); region.Activate(view); scopedRegion.Add(childActiveAwareView); scopedRegion.Deactivate(childActiveAwareView); Assert.IsFalse(childActiveAwareView.IsActive); region.Deactivate(view); Assert.IsFalse(childActiveAwareView.IsActive); region.Activate(view); Assert.IsFalse(childActiveAwareView.IsActive); }