public void GetParameterAndSwitch_MultiParam_WorksProperly() { string[] arguments = { "file1.txt", "/out:file2.txt", "/f", "/OUT:file3.txt", "/Depth:0" }; var reader = new CmdArgumentReader(arguments, paramNames, switchNames); Assert.AreEqual("file1.txt", reader.GetArgument(0)); Assert.IsTrue(reader.GetArguments("/OUT").SequenceEqual(new[] { "file2.txt", "file3.txt" })); Assert.AreEqual("0", reader.GetArgument("/DEPTH")); Assert.IsFalse(reader.GetOption("/R")); Assert.IsTrue(reader.GetOption("/F")); }
public void GetParameterAndSwitch_MessOrder_WorksProperly() { string[] arguments = { "/out:file2.txt", "file1.txt", "/f" }; var reader = new CmdArgumentReader(arguments, paramNames, switchNames); Assert.AreEqual("file1.txt", reader.GetArgument(0)); Assert.AreEqual("file2.txt", reader.GetArgument("/OUT")); Assert.IsNull(reader.GetArgument("/D")); Assert.IsFalse(reader.GetOption("/R")); Assert.IsTrue(reader.GetOption("/F")); }
public void GetParameterAndSwitch_ExtraParam_Fails() { string[] arguments = { "/out:file2.txt", "/set", "file1.txt", "/f" }; var reader = new CmdArgumentReader(arguments, paramNames, switchNames); Assert.AreNotEqual(reader.GetArgument(0), "file1.txt"); Assert.AreEqual("file1.txt", reader.GetArgument(1)); Assert.AreEqual("file2.txt", reader.GetArgument("/OUT")); Assert.IsNull(reader.GetArgument("/DEPTH")); Assert.IsFalse(reader.GetOption("/R")); Assert.IsTrue(reader.GetOption("/F")); }