public void TestPowerArgsRichCommandLineReaderFindContextualAction()
{
try
{
PowerArgsRichCommandLineReader.FindContextualAction("doesnotmatter");
Assert.Fail("An exception should have been thrown");
}
catch (NullReferenceException ex)
{
Assert.IsTrue(ex.Message.Contains("ambient"));
}
CommandLineArgumentsDefinition def = new CommandLineArgumentsDefinition();
Assert.IsNull(PowerArgsRichCommandLineReader.FindContextualAction(null, def));
Assert.IsNull(PowerArgsRichCommandLineReader.FindContextualAction("", def));
Assert.IsNull(PowerArgsRichCommandLineReader.FindContextualAction("NonMatchingAction", def));
var action = new CommandLineAction((d) => { });
action.Aliases.Add("TheAction");
def.Actions.Add(action);
var found = PowerArgsRichCommandLineReader.FindContextualAction("theaction", def);
Assert.AreSame(action, found);
}