public RepositorySourceConfigurationCommand(IUserInterface userInterface, IRepositoryConfigurationCommandActionParser repositoryConfigurationCommandActionParser, ISourceRepositoryProvider sourceRepositoryProvider) { if (userInterface == null) { throw new ArgumentNullException("userInterface"); } if (repositoryConfigurationCommandActionParser == null) { throw new ArgumentNullException("repositoryConfigurationCommandActionParser"); } if (sourceRepositoryProvider == null) { throw new ArgumentNullException("sourceRepositoryProvider"); } this.userInterface = userInterface; this.repositoryConfigurationCommandActionParser = repositoryConfigurationCommandActionParser; this.sourceRepositoryProvider = sourceRepositoryProvider; this.Attributes = new CommandAttributes { CommandName = CommandName, AlternativeCommandNames = this.AlternativeCommandNames, RequiredArguments = new[] { ArgumentNameAction, ArgumentNameRepositoryName, ArgumentNameRepositoryUrl }, PositionalArguments = new[] { ArgumentNameAction, ArgumentNameRepositoryName, ArgumentNameRepositoryUrl }, Description = Resources.RepositorySourceConfigurationCommand.CommandDescriptionText, Usage = string.Format( "{0} <{1}> <{2}> <{3}>", CommandName, string.Join("|", this.AllowedActions), ArgumentNameRepositoryName, ArgumentNameRepositoryUrl), Examples = new Dictionary<string, string> { { string.Format( "{0} {1} \"{2}\" \"{3}\"", CommandName, RepositoryConfigurationCommandAction.Add, Resources.RepositorySourceConfigurationCommand.SampleRepositoryName, NuDeployConstants.DefaultFeedUrl), Resources.RepositorySourceConfigurationCommand.AddCommandExampleDescriptionNamedArguments }, { string.Format( "{0} -{1}={2} -{3}=\"{4}\" -{5}=\"{6}\"", CommandName, ArgumentNameAction, RepositoryConfigurationCommandAction.Add, ArgumentNameRepositoryName, Resources.RepositorySourceConfigurationCommand.SampleRepositoryName, ArgumentNameRepositoryUrl, NuDeployConstants.DefaultFeedUrl), Resources.RepositorySourceConfigurationCommand.AddCommandExampleDescriptionNamedArguments }, { string.Format( "{0} {1} \"{2}\"", CommandName, RepositoryConfigurationCommandAction.Delete, Resources.RepositorySourceConfigurationCommand.SampleRepositoryName), Resources.RepositorySourceConfigurationCommand.DeleteCommandExampleDescriptionPositionalArguments }, { string.Format("{0} {1}", CommandName, RepositoryConfigurationCommandAction.Reset), Resources.RepositorySourceConfigurationCommand.ResetCommandExampleDescription }, { string.Format("{0} {1}", CommandName, RepositoryConfigurationCommandAction.List), Resources.RepositorySourceConfigurationCommand.ListCommandExampleDescription } }, ArgumentDescriptions = new Dictionary<string, string> { { ArgumentNameAction, string.Format( Resources.RepositorySourceConfigurationCommand.ArgumentDescriptionRepositoryActionTemplate, string.Join(", ", this.AllowedActions)) }, { ArgumentNameRepositoryName, Resources.RepositorySourceConfigurationCommand.ArgumentDescriptionRepositoryName }, { ArgumentNameRepositoryUrl, Resources.RepositorySourceConfigurationCommand.ArgumentDescriptionRepositoryUrl } } }; this.Arguments = new Dictionary<string, string>(); }
public void Setup() { this.repositoryConfigurationCommandActionParser = new RepositoryConfigurationCommandActionParser(); }