public void RaiseWindow_WhenViewIsNotOnTop_ShouldRaiseIt() { //---------------Set up test pack------------------- var viewModel1 = new AboutViewModel(); var viewModel2 = new FeedbackViewModel(Substitute.For <ILogFeedbackCommand>()); var sut = Create(); sut.RaiseWindow(viewModel1); //---------------Assert Precondition---------------- WaitForWindowOn(viewModel1); var vm1Handle = new WindowInteropHelper(viewModel1.GetWindow()).Handle; var currentTop = Win32Api.GetForegroundWindow(); Assert.AreEqual(vm1Handle, currentTop); //---------------Execute Test ---------------------- sut.RaiseWindow(viewModel2); WaitForWindowOn(viewModel2); Assert.AreNotEqual(vm1Handle, Win32Api.GetForegroundWindow()); sut.RaiseWindow(viewModel1); //---------------Test Result ----------------------- Assert.AreEqual(vm1Handle, Win32Api.GetForegroundWindow()); }
public void HideWindow_ShouldHideWindow() { //---------------Set up test pack------------------- var viewModel = new AboutViewModel(); var sut = Create(); sut.ShowWindow(viewModel); //---------------Assert Precondition---------------- WaitForWindowOn(viewModel); Assert.IsTrue(viewModel.GetWindow().IsVisible); Assert.AreEqual(Win32Api.GetForegroundWindow(), new WindowInteropHelper(viewModel.GetWindow()).Handle); //---------------Execute Test ---------------------- sut.HideWindow(viewModel); //---------------Test Result ----------------------- Assert.IsFalse(viewModel.GetWindow().IsVisible); }
public void RaiseWindow_WhenViewInactive_ShouldShowIt() { //---------------Set up test pack------------------- var viewModel = new AboutViewModel(); var sut = Create(); sut.RaiseWindow(viewModel); var window = viewModel.GetWindow(); sut.HideWindow(viewModel); //---------------Assert Precondition---------------- Assert.IsFalse(window.IsVisible); //---------------Execute Test ---------------------- sut.RaiseWindow(viewModel); //---------------Test Result ----------------------- Assert.IsTrue(window.IsVisible); }