本文整理汇总了C#中CommandManager.RegisterCommand方法的典型用法代码示例。如果您正苦于以下问题:C# CommandManager.RegisterCommand方法的具体用法?C# CommandManager.RegisterCommand怎么用?C# CommandManager.RegisterCommand使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CommandManager
的用法示例。
在下文中一共展示了CommandManager.RegisterCommand方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetCommandOptions_ThrowsWhenOptionHasNoSetter
public void GetCommandOptions_ThrowsWhenOptionHasNoSetter()
{
// Arrange
CommandManager cm = new CommandManager();
ICommand cmd = new MockCommandBadOption();
cm.RegisterCommand(cmd);
string expectedErrorText = "[option] on 'NuGet.Test.NuGetCommandLine.CommandManagerTests+MockCommandBadOption.Message' is invalid without a setter.";
// Act & Assert
ExceptionAssert.Throws<InvalidOperationException>(() => cm.GetCommandOptions(cmd), expectedErrorText);
}
示例2: RegisterCommand_AddsCommandToDictionary
public void RegisterCommand_AddsCommandToDictionary()
{
// Arrange
CommandManager cm = new CommandManager();
ICommand mockCommand = new MockCommand();
// Act
cm.RegisterCommand(mockCommand);
// Assert
Assert.Equal(1, cm.GetCommands().Count());
}
示例3: GetCommand_ReturnsCorrectCommand
public void GetCommand_ReturnsCorrectCommand()
{
// Arrange
CommandManager cm = new CommandManager();
ICommand expectedCommand = new MockCommand();
cm.RegisterCommand(expectedCommand);
// Act
ICommand actualCommand = cm.GetCommand("MockCommand");
// Assert
Assert.Equal(expectedCommand, actualCommand);
}
示例4: GetCommandOptions_ReturnsCorrectOpionAttributeAndPropertyInfo
public void GetCommandOptions_ReturnsCorrectOpionAttributeAndPropertyInfo()
{
// Arrange
CommandManager cm = new CommandManager();
ICommand cmd = new MockCommand();
cm.RegisterCommand(cmd);
Dictionary<OptionAttribute, PropertyInfo> expected = new Dictionary<OptionAttribute, PropertyInfo>();
var expectedOptionAttributeOne = new OptionAttribute("A Option");
var expectedPropertyInfoOne = typeof(MockCommand).GetProperty("Message");
expected.Add(expectedOptionAttributeOne, expectedPropertyInfoOne);
var expectedOptionAttributeTwo = new OptionAttribute("A Option Two");
var expectedPropertyInfoTwo = typeof(MockCommand).GetProperty("MessageTwo");
expected.Add(expectedOptionAttributeTwo, expectedPropertyInfoTwo);
// Act
IDictionary<OptionAttribute, PropertyInfo> actual = cm.GetCommandOptions(cmd);
// Assert
Assert.AreEqual(2, actual.Count);
Assert.AreEqual(expectedOptionAttributeOne, actual.Keys.First());
Assert.AreEqual(expectedPropertyInfoOne, actual[expectedOptionAttributeOne]);
Assert.AreEqual(expectedOptionAttributeTwo, actual.Keys.Last());
Assert.AreEqual(expectedPropertyInfoTwo, actual[expectedOptionAttributeTwo]);
}
示例5: RegisterCommand_ReturnsExactMatchesEvenIfAmbigious
public void RegisterCommand_ReturnsExactMatchesEvenIfAmbigious()
{
// Arrange
CommandManager cm = new CommandManager();
cm.RegisterCommand(new MockCommand(new CommandAttribute("Foo", "desc")));
cm.RegisterCommand(new MockCommand(new CommandAttribute("FooBar", "desc")));
// Act
var result = cm.GetCommand("Foo");
// Assert
// If we get this far, we've found 'foo'
Assert.NotNull(result);
Assert.Equal(result.CommandAttribute.CommandName, "Foo");
}
示例6: RegisterCommand_DoesNotRegisterCommandIfNoCommandAttributesArePresent
public void RegisterCommand_DoesNotRegisterCommandIfNoCommandAttributesArePresent()
{
// Arrange
CommandManager cm = new CommandManager();
ICommand cmd = new MockCommandEmptyAttributes();
cm.RegisterCommand(cmd);
// Act
var registeredCommands = cm.GetCommands();
// Assert
Assert.False(registeredCommands.Any());
}
示例7: RegisterCommand_ThrowsIfCommandNamesAreAmbigious
public void RegisterCommand_ThrowsIfCommandNamesAreAmbigious()
{
// Arrange
CommandManager cm = new CommandManager();
cm.RegisterCommand(new MockCommand(new CommandAttribute("Foo", "desc")));
cm.RegisterCommand(new MockCommand(new CommandAttribute("FooBar", "desc")));
// Act and Assert
ExceptionAssert.Throws<CommandLineException>(() => cm.GetCommand("f"), "Ambiguous command 'f'. Possible values: Foo FooBar.");
}