public void SetsIsActivePropertyOnBothIActiveAwareViewAndDataContext() { var region = new MockPresentationRegion(); var behavior = new RegionActiveAwareBehavior { Region = region }; behavior.Attach(); var collection = region.MockActiveViews.Items; var activeAwareMock = new Mock<IActiveAware>(); activeAwareMock.SetupProperty(o => o.IsActive); var activeAwareObject = activeAwareMock.Object; var frameworkElementMock = new Mock<FrameworkElement>(); frameworkElementMock.As<IActiveAware>().SetupProperty(o => o.IsActive); var frameworkElement = frameworkElementMock.Object; frameworkElement.DataContext = activeAwareObject; Assert.IsFalse(((IActiveAware)frameworkElement).IsActive); Assert.IsFalse(activeAwareObject.IsActive); collection.Add(frameworkElement); Assert.IsTrue(((IActiveAware)frameworkElement).IsActive); Assert.IsTrue(activeAwareObject.IsActive); collection.Remove(frameworkElement); Assert.IsFalse(((IActiveAware)frameworkElement).IsActive); Assert.IsFalse(activeAwareObject.IsActive); }
public void DoesNotThrowWhenAddingNonActiveAwareObjects() { var region = new MockPresentationRegion(); var behavior = new RegionActiveAwareBehavior { Region = region }; behavior.Attach(); var collection = region.MockActiveViews.Items; collection.Add(new object()); }
public void DoesNotThrowWhenAddingNonActiveAwareDataContexts() { var region = new MockPresentationRegion(); var behavior = new RegionActiveAwareBehavior { Region = region }; behavior.Attach(); var collection = region.MockActiveViews.Items; var frameworkElementMock = new Mock<FrameworkElement>(); var frameworkElement = frameworkElementMock.Object; frameworkElement.DataContext = new object(); collection.Add(frameworkElement); }
public void DetachStopsListeningForChanges() { var region = new MockPresentationRegion(); var behavior = new RegionActiveAwareBehavior { Region = region }; var collection = region.MockActiveViews.Items; behavior.Attach(); behavior.Detach(); ActiveAwareFrameworkElement activeAwareObject = new ActiveAwareFrameworkElement(); collection.Add(activeAwareObject); Assert.IsFalse(activeAwareObject.IsActive); }
public void SetsIsActivePropertyOnIActiveAwareObjects() { var region = new MockPresentationRegion(); region.RegionManager = new MockRegionManager(); var behavior = new RegionActiveAwareBehavior { Region = region }; behavior.Attach(); var collection = region.MockActiveViews.Items; ActiveAwareFrameworkElement activeAwareObject = new ActiveAwareFrameworkElement(); Assert.IsFalse(activeAwareObject.IsActive); collection.Add(activeAwareObject); Assert.IsTrue(activeAwareObject.IsActive); collection.Remove(activeAwareObject); Assert.IsFalse(activeAwareObject.IsActive); }
public void SetsIsActivePropertyOnIActiveAwareDataContexts() { var region = new MockPresentationRegion(); var behavior = new RegionActiveAwareBehavior { Region = region }; behavior.Attach(); var collection = region.MockActiveViews.Items; ActiveAwareFrameworkElement activeAwareObject = new ActiveAwareFrameworkElement(); var frameworkElementMock = new Mock<FrameworkElement>(); var frameworkElement = frameworkElementMock.Object; frameworkElement.DataContext = activeAwareObject; Assert.IsFalse(activeAwareObject.IsActive); collection.Add(frameworkElement); Assert.IsTrue(activeAwareObject.IsActive); collection.Remove(frameworkElement); Assert.IsFalse(activeAwareObject.IsActive); }
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); }