public void TestOnOutputLines() { const int exitCode = 29; TestBuiltInCommandEnvironment environment = new TestBuiltInCommandEnvironment(); Func <string[], int> testCommand = args => { TextWriter outWriter = environment.GetConsoleOut(); outWriter.Write("first"); outWriter.WriteLine("second"); outWriter.WriteLine("third"); TextWriter errorWriter = environment.GetConsoleError(); errorWriter.WriteLine("fourth"); errorWriter.WriteLine("fifth"); return(exitCode); }; int onOutputLineCallCount = 0; int onErrorLineCallCount = 0; CommandResult result = new BuiltInCommand("fakeCommand", Enumerable.Empty <string>(), testCommand, environment) .OnOutputLine(line => { onOutputLineCallCount++; if (onOutputLineCallCount == 1) { Assert.Equal($"firstsecond", line); } else { Assert.Equal($"third", line); } }) .OnErrorLine(line => { onErrorLineCallCount++; if (onErrorLineCallCount == 1) { Assert.Equal($"fourth", line); } else { Assert.Equal($"fifth", line); } }) .Execute(); Assert.Equal(exitCode, result.ExitCode); Assert.Equal(2, onOutputLineCallCount); Assert.Equal(2, onErrorLineCallCount); }
public void TestOnOutputLines() { const int exitCode = 29; TestBuiltInCommandEnvironment environment = new TestBuiltInCommandEnvironment(); Func<string[], int> testCommand = args => { TextWriter outWriter = environment.GetConsoleOut(); outWriter.Write("first"); outWriter.WriteLine("second"); outWriter.WriteLine("third"); TextWriter errorWriter = environment.GetConsoleError(); errorWriter.WriteLine("fourth"); errorWriter.WriteLine("fifth"); return exitCode; }; int onOutputLineCallCount = 0; int onErrorLineCallCount = 0; CommandResult result = new BuiltInCommand("fakeCommand", Enumerable.Empty<string>(), testCommand, environment) .OnOutputLine(line => { onOutputLineCallCount++; if (onOutputLineCallCount == 1) { Assert.Equal($"firstsecond", line); } else { Assert.Equal($"third", line); } }) .OnErrorLine(line => { onErrorLineCallCount++; if (onErrorLineCallCount == 1) { Assert.Equal($"fourth", line); } else { Assert.Equal($"fifth", line); } }) .Execute(); Assert.Equal(exitCode, result.ExitCode); Assert.Equal(2, onOutputLineCallCount); Assert.Equal(2, onErrorLineCallCount); }