/// <summary> /// Build IExecutionMain and start logic. /// </summary> public void Execute() { IWindowHandle windowHandle = new LastActiveWindowHandle(); IScreen screen = new ActiveWindowDependendScreen(windowHandle); IMoveWindow moveWindow = new MoveActiveWindow(windowHandle); IChangeWindowPosition position = new ResizeActiveWindowTo1024X768OnTopLeftOfCurrentScreen(screen, moveWindow); IWindowTitle windowTitle = new ActiveWindowTitle(windowHandle); IPluginState pluginState = new ActiveWindowTitleNotStartMenuePluginState(windowTitle); IExecutionMain executionMain = new MoveActiveWindowPositionExecutionMain(position, pluginState); executionMain.Run(); }
public void Now_CallsMoveWindowWithScreenWorkingAreaXAndYWith1024AndHeight768(int workingX, int workingY) { using (ShimsContext.Create()) { // Arrange var screen = Substitute.For<IScreen>(); var moveWindow = Substitute.For<IMoveWindow>(); var screenShim = new ShimScreen { WorkingAreaGet = () => new Rectangle(workingX, workingY, 100, 100) }; screen.Value.Returns(screenShim); var sut = new ResizeActiveWindowTo1024X768OnTopLeftOfCurrentScreen(screen, moveWindow); // Act sut.Now(); // Assert moveWindow.Received(1).To(workingX, workingY, 1024, 768); } }