public void TestInvalidCommandLineArguments() { using (StringWriter sw = new StringWriter()) { Console.SetOut(sw); CmdParser cmdParser = this.SpawnParser(); string[] args = new string[] { "t1=\"in 1\"", "/t2", "/t3=\"in 3\"" }; bool result = cmdParser.ParseArgs(args); Assert.IsFalse(result, "Invalid argument should return false on ParseArgs"); cmdParser.PrintErrors(); string expected = string.Format(" Invalid command line argument: t1=\"in 1\"{0}", Environment.NewLine); Assert.AreEqual <string>(expected, sw.ToString(), " Invalid command line argument: t1=\"in 1\""); } }
public void TestMissingCommandLineArguments() { using (StringWriter sw = new StringWriter()) { Console.SetOut(sw); CmdParser cmdParser = this.SpawnParser(); string[] args = new string[] { "/t1=\"in 1\"", "/t2", }; bool result = cmdParser.ParseArgs(args); Assert.IsFalse(result, "Missing argument should return false on ParseArgs"); cmdParser.PrintErrors(); string expected = string.Format(" Missing command line argument: t3{0}", Environment.NewLine); Assert.AreEqual <string>(expected, sw.ToString(), "Missing arguments should provide accurate message"); } }