public async Task UseParserForRun() { var flag = new Flag("test", "this is test flag"); var option = new Option <bool>(1, "this is test flag"); var args = new[] { "-a", "b" }; var parserMock = new Mock <IArgumentsParser>(MockBehavior.Strict); parserMock.Setup(x => x.ParseArgs( args, It.Is <List <Argument> >(y => y.Count == 2 && y[0] == flag && y[1] == option))); var sut = new ParserCommand(flag, option); await sut.RunAsync(parserMock.Object, args); }
private void TryParse(string input) { if (string.IsNullOrEmpty(input)) { throw new ArgumentNullException("input"); } var data = input.Split(COMMAND_SEPARATOR); if (this.IsValid = data.Length == 2) { char rawCommand; ParserCommand command = (ParserCommand)'u'; if (this.IsValid = (char.TryParse(data[0], out rawCommand) && Enum.TryParse(((int)rawCommand).ToString(), out command))) { this.Command = command; if (this.IsValid = InstanceResolverFor <IFSController> .Instance.Exists(data[1])) { this.PathToFile = data[1]; } } } }