public void ShouldUpdateTitleWhenTitlePropertyChanges() { var view = new UserControl(); var viewModel = new MockWindowMetadataProvider(); viewModel.TitleForWindow = "Window Title"; view.DataContext = viewModel; var region = new MockRegion(); var behavior = new TestableDialogActivationBehavior(this.windowManager); var parentCanvas = new Canvas(); behavior.HostControl = parentCanvas; behavior.Region = region; behavior.Attach(); region.MockActiveViews.TriggerNotifyCollectionChangedEvent(NotifyCollectionChangedAction.Add, view); var windowForView = behavior.ViewMappings.ElementAt(0).Value; Assert.AreEqual("Window Title", windowForView.Title); viewModel.TitleForWindow = "Different Window Title"; viewModel.InvokeTitleUpdated(view); Assert.AreEqual("Different Window Title", windowForView.Title); }
public void ShouldSetWindowSizeBasedOnWindowInfoProvider() { var view = new UserControl(); var viewModel = new MockWindowMetadataProvider(); view.DataContext = viewModel; var region = new MockRegion(); var behavior = new TestableDialogActivationBehavior(this.windowManager); var parentCanvas = new Canvas(); viewModel.SizeForWindow = new Size(10, 20); behavior.HostControl = parentCanvas; behavior.Region = region; behavior.Attach(); region.MockActiveViews.TriggerNotifyCollectionChangedEvent(NotifyCollectionChangedAction.Add, view); var windowForView = behavior.ViewMappings.ElementAt(0).Value; Assert.AreEqual(20, windowForView.Size.Height); Assert.AreEqual(10, windowForView.Size.Width); }
public void ShouldSetTopPositionToHalfOfHeightWhenValueProvidedByWindowInfoProviderInViewDataContextIsBottom() { var view = new UserControl(); var viewModel = new MockWindowMetadataProvider(); view.DataContext = viewModel; var region = new MockRegion(); var behavior = new TestableDialogActivationBehavior(this.windowManager); var parentCanvas = new Canvas(); parentCanvas.Height = 300; viewModel.Vertical = VerticalWindowPosition.Bottom; behavior.HostControl = parentCanvas; behavior.Region = region; behavior.Attach(); region.MockActiveViews.TriggerNotifyCollectionChangedEvent(NotifyCollectionChangedAction.Add, view); var windowForView = behavior.ViewMappings.ElementAt(0).Value; Assert.AreEqual(150, windowForView.Top); }
public void ShouldSetLeftPositionToPointFiftyFiveOfWidthWhenValueProvidedByWindowInfoProviderInViewDataContextIsRight() { var view = new UserControl(); var viewModel = new MockWindowMetadataProvider(); view.DataContext = viewModel; var region = new MockRegion(); var behavior = new TestableDialogActivationBehavior(this.windowManager); var parentCanvas = new Canvas { Width = 300 }; viewModel.Horizontal = HorizontalWindowPosition.Right; behavior.HostControl = parentCanvas; behavior.Region = region; behavior.Attach(); region.MockActiveViews.TriggerNotifyCollectionChangedEvent(NotifyCollectionChangedAction.Add, view); var windowForView = behavior.ViewMappings.ElementAt(0).Value; Assert.AreEqual(165, windowForView.Left); }
public void ShouldSetResizeModeToBothIfWindowInfoProviderResizeDirectionsIsBoth() { var view = new UserControl(); var viewModel = new MockWindowMetadataProvider(); view.DataContext = viewModel; var region = new MockRegion(); var behavior = new TestableDialogActivationBehavior(this.windowManager); var parentCanvas = new Canvas(); viewModel.Resize = ResizeDirection.Both; behavior.HostControl = parentCanvas; behavior.Region = region; behavior.Attach(); region.MockActiveViews.TriggerNotifyCollectionChangedEvent(NotifyCollectionChangedAction.Add, view); var windowForView = behavior.ViewMappings.ElementAt(0).Value; Assert.AreEqual(ResizeDirection.Both, windowForView.ResizeDirection); }