public void NotUsedRequiredArgumentErrorTest() { var commandTestClass = new ArgumentTestClass(); var dictionary = new Dictionary <string, string>(); var argumentMapper = new ArgumentMapper <ArgumentTestClass>(); argumentMapper.Invoking(x => x.Map(commandTestClass, dictionary)).ShouldThrow <MissingCommandLineArgumentException>(); }
public void NoCommandUsageErrorTest() { var commandTestClass = new CommandTestClass(); var dictionary = new Dictionary <string, string>(); var argumentMapper = new ArgumentMapper <CommandTestClass>(); argumentMapper.Invoking(x => x.Map(commandTestClass, dictionary)).ShouldThrow <CommandLineArgumentException>().WithMessage( "The command 'Backup|Init|Restore' must be used."); }
public void MultipleSameCommandUsageErrorTest() { var commandTestClass = new CommandTestClass(); var dictionary = new Dictionary <string, string> { { "Backup", "true" }, { "B", "true" } }; var argumentMapper = new ArgumentMapper <CommandTestClass>(); argumentMapper.Invoking(x => x.Map(commandTestClass, dictionary)).ShouldThrow <CommandLineArgumentException>().WithMessage( "Multiple aruments for 'Backup'-command is not allowed."); }
public void EnsureMultipleSameAliasesAreDetected() { var target = new ArgumentMapper <InvalidAliases>(); target.Invoking(t => t.Map(new Dictionary <string, string>())).ShouldThrow <CommandLineAttributeException>(); var target2 = new ArgumentMapper <InvalidNameAliases>(); target2.Invoking(t => t.Map(new Dictionary <string, string>())).ShouldThrow <CommandLineAttributeException>(); var target3 = new ArgumentMapper <InvalidOptionArgument>(); target3.Invoking(t => t.Map(new Dictionary <string, string>())).ShouldThrow <CommandLineAttributeException>(); }