- ConsoleCommandLine.zip
- ConsoleCommandLine
- CommandLineParser
- CommandLineTests
- ConsoleCommandLine.sln
- ConsoleCommandLine.sln.docstates.suo
- ConsoleCommandLine.suo
- ConsoleCommandLine.vsmdi
- ConsoleCommandLine
- Local.testsettings
- TraceAndTestImpact.testsettings
|
using CommandLineParser;
using CommandLineTests.TestObjects;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace CommandLineTests
{
[TestClass()]
public class ParserTest
{
[TestMethod()]
public void Parser_ParseArguments_ArgumentsPopulated()
{
string[] args = { "-s:hello", "-i:1", "-e:foo", "-b:true" };
Arguments arguments = new Arguments();
var argMapMan = new ArgumentMapManager(arguments);
Parser target = new Parser(argMapMan);
target.ParseArguments(args);
Assert.AreEqual("hello", arguments.String);
Assert.AreEqual(1, arguments.Integer);
Assert.AreEqual(TestEnumeration.foo, arguments.Enum);
}
[TestMethod()]
[ExpectedException(typeof(ParserException))]
public void Parser_ParseArguments_ArgumentNotDefinedInMap_InvalidArgumentExceptionThrown()
{
Arguments arguments = new Arguments();
var argMapMan = new ArgumentMapManager(arguments);
Parser target = new Parser(argMapMan);
string[] args = { "-xx:hello" };
target.ParseArguments(args);
}
[TestMethod()]
[ExpectedException(typeof(ParserException))]
public void Parser_ParseArguments_NoArgumentsDefinedInMap_ParserExceptionThrown()
{
EmptyArgumentClass arguments = new EmptyArgumentClass();
var argMapMan = new ArgumentMapManager(arguments);
Parser target = new Parser(argMapMan);
string[] args = { "-xx:hello" };
target.ParseArguments(args);
}
[TestMethod()]
[ExpectedException(typeof(ParserException))]
public void Parser_ParseArguments_Required_argument_not_found_ParserException_thrown()
{
string[] args = { "-s:hello", "-e:foo", "-b:true" };
Arguments arguments = new Arguments();
var argMapMan = new ArgumentMapManager(arguments);
Parser target = new Parser(argMapMan);
target.ParseArguments(args);
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.