/// <summary>
        /// Build IExecutionMain and start the logic.
        /// </summary>
        public void Execute()
        {
            IWindowHandle windowHandle = new LastActiveWindowHandle();
            IScreen screen = new ActiveWindowDependendScreen(windowHandle);
            IMoveWindow moveWindow = new MoveActiveWindow(windowHandle);
            IChangeWindowPosition position = new SplitActiveWindowToHalfBottomOnCurrentScreen(screen, moveWindow);
            IWindowTitle windowTitle = new ActiveWindowTitle(windowHandle);
            IPluginState pluginState = new ActiveWindowTitleNotStartMenuePluginState(windowTitle);
            IExecutionMain executionMain = new MoveActiveWindowPositionExecutionMain(position, pluginState);

            executionMain.Run();
        }
        public void State_WindowTitleEqualsStartmenü_ReturnsFalse()
        {
            // Arrange
            var windowTitle = Substitute.For<IWindowTitle>();
            windowTitle.Value.Returns("Startmenü");

            var sut = new ActiveWindowTitleNotStartMenuePluginState(windowTitle);

            // Act
            var result = sut.State;

            // Assert
            Assert.False(result);
        }