public Func <int> RunConsoleModeCommand(string[] lines, bool inputIsFromUser, ConsoleCommand command, TextWriter outputWriter = null) { var injectedInputStream = new MemoryStream(); var fakeConsoleWriter = outputWriter ?? new StringWriter(); var fakeConsoleReader = new StreamReader(injectedInputStream); var consoleModeCommand = new ConsoleModeCommand( () => new ConsoleCommand[] { command }, fakeConsoleWriter, fakeConsoleReader); arrange(delegate { var injectedInput = new StreamWriter(injectedInputStream); foreach (var line in lines) { injectedInput.WriteLine(line); } injectedInput.Flush(); injectedInputStream.Seek(0, SeekOrigin.Begin); }); IConsoleRedirectionDetection redirectionDetection = A.Fake <IConsoleRedirectionDetection>(); arrange(() => consoleModeCommand.SetConsoleRedirectionDetection(redirectionDetection)); arrange(() => A.CallTo(() => redirectionDetection.IsInputRedirected()).Returns(!inputIsFromUser)); return(() => ConsoleCommandDispatcher.DispatchCommand(new ConsoleCommand[] { consoleModeCommand }, new string[0], fakeConsoleWriter)); }
public void SetConsoleRedirectionDetection(IConsoleRedirectionDetection consoleRedirectionDetection) { _redirectionDetector = consoleRedirectionDetection;
public void SetConsoleRedirectionDetection(IConsoleRedirectionDetection consoleRedirectionDetection) { _redirectionDetector = consoleRedirectionDetection; }