public void TestStdOut() { var provider = new MemoryConsoleProvider(); provider.Write("Test".ToCharArray()); provider.Write("ing "); provider.Write(this); provider.Write(" "); provider.Write("asserts {0} {1} ", "All", "Tests"); provider.Write(true); provider.Write("This is . Garbage string".ToCharArray(), 8, 2); provider.WriteLine(); provider.WriteLine("Test line".ToCharArray()); provider.WriteLine("Test line 2"); provider.WriteLine("Test {0}", "formatted line"); provider.WriteLine(this); provider.WriteLine("Testing a specific substring.".ToCharArray(), 8, 20); var meString = this.ToString(); Assert.AreEqual(string.Format("Testing {0} asserts All Tests True. " + Environment.NewLine + "Test line" + Environment.NewLine + "Test line 2" + Environment.NewLine + "Test formatted line" + Environment.NewLine + "{0}" + Environment.NewLine + "a specific substring" + Environment.NewLine, meString), provider.StdOut.ToString()); }
/// <summary> /// Runs a console command with custom input and returns the output. /// </summary> /// <param name="command">Command to run</param> /// <param name="appViewModel">Current application view model</param> /// <param name="arguments">Input arguments</param> /// <param name="stdIn">New-line separated standard input</param> /// <returns>New-line separated standard output</returns> /// <exception cref="ArgumentNullException">Thrown if <paramref name="command"/> or <paramref name="appViewModel"/> is null.</exception> public static async Task <string> TestConsoleCommand(ConsoleCommand command, ApplicationViewModel appViewModel, string[] arguments, string stdIn) { if (command == null) { throw new ArgumentNullException(nameof(command)); } if (appViewModel == null) { throw new ArgumentNullException(nameof(appViewModel)); } if (arguments == null) { arguments = new string[] { }; } if (stdIn == null) { stdIn = ""; } var provider = new MemoryConsoleProvider(); provider.StdIn.Append(stdIn); command.Console = provider; await command.MainAsync(arguments).ConfigureAwait(false); return(provider.GetStdOut()); }
public void TestStdIn() { var provider = new MemoryConsoleProvider(); provider.StdIn.Append("!Line "); provider.StdIn.AppendLine("1"); provider.StdIn.AppendLine("Line 2"); Assert.AreEqual(Convert.ToInt32('!'), provider.Read()); Assert.AreEqual("Line 1", provider.ReadLine()); Assert.AreEqual("Line 2", provider.ReadLine()); }