Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }