public void WhenClosed_ClosedEventInvoked()
        {
            // Arrange
            var target = new BaseTopLevelWindow();
            var receivedEvents = new List<string>();
            target.Closed += (o, args) => receivedEvents.Add("Closed");

            var topManager = Mock.Create<IShell>();
            target.WindowManager = new Lazy<IShell>(() => topManager);

            Assert.AreEqual(0, receivedEvents.Count);

            // Act
            target.CloseCommand.Execute(null);

            // Assert
            Assert.AreEqual(1, receivedEvents.Count);
        }
 public void WhenConstructed_BottomToolbarIsNotNull()
 {
     var target = new BaseTopLevelWindow();
     Assert.IsNotNull(target.BottomToolbar);
 }
 public void WhenConstructed_WindowCommandItemListIsNotNull()
 {
     var target = new BaseTopLevelWindow();
     Assert.IsNotNull(target.WindowCommandItemList);
 }
 public void WhenConstructed_BreadcrumbsIsNotNull()
 {
     var target = new BaseTopLevelWindow();
     Assert.IsNotNull(target.Breadcrumbs);
 }
 public void WhenConstructed_ToolbarItemListIsNotNull()
 {
     var target = new BaseTopLevelWindow();
     Assert.IsNotNull(target.ToolbarItemList);
 }
        public void WhenHasDetailsChanged_PropertyChangedRaised()
        {
            // Arrange
            var target = new BaseTopLevelWindow();
            var receivedEvents = new List<string>();
            target.PropertyChanged += (o, args) => receivedEvents.Add(args.PropertyName);

            Assert.AreEqual(0, receivedEvents.Count);

            // Act
            target.HasDetails = !target.HasDetails;

            // Assert
            Assert.AreEqual(1, receivedEvents.Count);
        }
        public void WhenParentWindowNotNull_HasParentIsTrue()
        {
            // Arrange
            var target = new BaseTopLevelWindow();
            var parentWind = Mock.Create<ITopLevelWindow>();

            // Act
            target.ParentWindow = parentWind;

            // Assert
            Assert.IsTrue(target.HasParent);
        }
Example #8
0
        /// <summary>
        /// Whens the create new item from checklist_ answer details is also parent window.
        /// <author>Unknown</author>.
        /// </summary>
        /// [TestMethod]
        public void WhenCreateNewItemFromChecklist_AnswerDetailsIsAlsoParentWindow()
        {
            var eventAggregator = Mock.Create<IEventAggregator>();
            var mainVM = new MainViewModel { EventAggregator = eventAggregator };
            var window1 = new BaseTopLevelWindow();
            var window2 = Mock.Create<ITopLevelWindow>();
            var window3 = Mock.Create<ITopLevelWindow>();
            var childWindow = Mock.Create<ITopLevelWindow>();

            Mock.Arrange(() => window3.ParentWindow).Returns(window2);

            Mock.Arrange(() => childWindow.Breadcrumbs).Returns(new ObservableCollection<IBreadcrumbItem>());

            mainVM.Windows.Add(window1);
            mainVM.Windows.Add(window2);

            mainVM.ShowChildWindow(window3, childWindow);

            Assert.IsNotNull(mainVM.SelectedWindow);
            Assert.IsTrue(childWindow.IsVisible);
            Assert.IsTrue(childWindow.IsSelected);
            Assert.AreEqual(childWindow.ParentWindow, window2);
        }
        public void WhenChildWindowClosed_WindowManagerShowParentWindowInvoked()
        {
            //Arrange 
            var target = new BaseTopLevelWindow();
            var parentWind = Mock.Create<ITopLevelWindow>();
            target.ParentWindow = parentWind;
            var topManager = Mock.Create<IShell>();
            Mock.Arrange(() => topManager.ShowParentWindow(Arg.IsAny<ITopLevelWindow>()));
            target.WindowManager = new Lazy<IShell>(() => topManager);

            //Act
            target.CloseCommand.Execute(null);

            //Assert
            Mock.Assert(() => topManager.ShowParentWindow(Arg.IsAny<ITopLevelWindow>()), Occurs.Once());
        }
Example #10
0
        public void WhenSelectedWindowChanged_IsSelectedIsChanged()
        {
            //Arrange
            var eventAggregator = Mock.Create<IEventAggregator>(Behavior.Loose);
            var mainVM = new MainViewModel { EventAggregator = eventAggregator };
            var window1 = new BaseTopLevelWindow();
            var window2 = new BaseTopLevelWindow();

            mainVM.Windows.Add(window1);
            mainVM.Windows.Add(window2);

            // Act
            mainVM.SelectedWindow = window1;
            mainVM.SelectedWindow = window2;

            //Assert
            Assert.IsTrue(window2.IsSelected);
            Assert.IsFalse(window1.IsSelected);
        }
Example #11
0
        public void WhenShowParentWindow_ItActivates()
        {
            //Arrange
            var eventAggregator = Mock.Create<IEventAggregator>(Behavior.Loose);
            var mainVM = new MainViewModel { EventAggregator = eventAggregator };
            var parentWindow = new BaseTopLevelWindow();
            var childWindow = Mock.Create<ITopLevelWindow>(Behavior.Loose);

            Mock.Arrange(() => childWindow.Breadcrumbs).Returns(new ObservableCollection<IBreadcrumbItem>());

            mainVM.Windows.Add(parentWindow);
            mainVM.ShowChildWindow(parentWindow, childWindow);

            // Act
            mainVM.ShowParentWindow(parentWindow);

            //Assert
            Assert.AreEqual(parentWindow, mainVM.SelectedWindow);
        }
Example #12
0
        public void WhenShowChildWindow_TitleCopiedToOriginalTitle()
        {
            //Arrange
            var eventAggregator = Mock.Create<IEventAggregator>(Behavior.Loose);
            var mainVM = new MainViewModel { EventAggregator = eventAggregator };
            var parentWindow = Mock.Create<ITopLevelWindow>(Behavior.Loose);
            var childWindow = new BaseTopLevelWindow();
            mainVM.Windows.Add(parentWindow);
            Mock.Arrange(() => parentWindow.Breadcrumbs).Returns(new ObservableCollection<IBreadcrumbItem>());
            var title = Guid.NewGuid().ToString();
            childWindow.Title = title;

            // Act
            mainVM.ShowChildWindow(parentWindow, childWindow);

            //Assert
            Assert.AreEqual(title, childWindow.OriginalTitle);
        }
Example #13
0
        public void AfterShowGrandChildWindow_BreadCrumbsCountIncreases()
        {
            // Arrange
            var eventAggregator = Mock.Create<IEventAggregator>(Behavior.Loose);
            var mainVM = new MainViewModel { EventAggregator = eventAggregator };
            var parentWindow = Mock.Create<ITopLevelWindow>(Behavior.Loose);
            var childWindow = new BaseTopLevelWindow();
            var grandChildWindow = new BaseTopLevelWindow();

            mainVM.Windows.Add(parentWindow);
            Mock.Arrange(() => parentWindow.Breadcrumbs).Returns(new ObservableCollection<IBreadcrumbItem>());

            //Act
            mainVM.ShowChildWindow(parentWindow, childWindow);
            mainVM.ShowChildWindow(childWindow, grandChildWindow);

            // Assert
            Assert.AreEqual(grandChildWindow.Breadcrumbs.Count, 3);
        }
Example #14
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MockMainViewModel"/> class.
        /// </summary>
        public MockMainViewModel()
        {
            //Windows
            var window1 = new BaseTopLevelWindow();
            var window2 = new BaseTopLevelWindow();

            //NavigationSideBarVM
            var sideBar = new StubNavigationSidebarViewModel();

            //SystemMenu
            var systemMenu = new SysMenuViewModel();
            var mockCommand = Mock.Create<ICommand>();
            systemMenu.AdminMenuItems = new ObservableCollection<ITitledCommand>(new List<ITitledCommand> { new TitledCommand(mockCommand, string.Empty, string.Empty, null) });

            this.NavigationSidebarVM = sideBar;
            this.SysMenuVM = systemMenu;
            this.Windows.Add(window1);
            this.Windows.Add(window2);
        }