public void Start_with_help_option_should_show_usage_help()
        {
            var server = new NukeServer(_listener, _outputWriter, new Options("-h"));
            server.Start();

            StringAssert.StartsWith("Usage:", _outputWriter.ToString());
        }
        public void Start_without_help_option_should_start_the_listener()
        {
            var server = new NukeServer(_listener, _outputWriter, new Options());
            server.Start();

            Assert.That(_listener.HasMessageLoggedListeners());
            Assert.That(_listener.StartCalled);
            Assert.That(_listener.StopCalled);
        }
        public void Start_with_minus_d_should_wait_for_a_debugger()
        {
            var mockDebugerFacade = new MockDebugerFacade();
            var server = new NukeServer(_listener, new Options("-d"), mockDebugerFacade);

            server.Start();

            Assert.That(_listener.StartCalled);
            Assert.That(mockDebugerFacade.HasWaitBeenCalled());
        }
        public void Start_with_and_wait_for_a_debugger()
        {
            var mockDebuggerFacade = new MockDebugerFacade();
            var server = new NukeServer(_listener, new Options(), mockDebuggerFacade);

            server.WaitForDebugerAndRun();

            Assert.That(_listener.StartCalled);
            Assert.That(mockDebuggerFacade.HasWaitBeenCalled());
        }