public void StringIteration() { const string valueOne = "one"; const string valueTwo = "two"; const string valueThree = "three"; string[] values = { valueOne, valueTwo, valueThree }; IArgumentEnumerator e = new StringArrayEnumerator(values); e.MoveNext(); Assert.AreEqual(valueOne, e.Current); Assert.AreEqual(valueTwo, e.Next); Assert.IsFalse(e.IsLast); e.MoveNext(); Assert.AreEqual(valueTwo, e.Current); Assert.AreEqual(valueThree, e.Next); Assert.IsFalse(e.IsLast); e.MoveNext(); Assert.AreEqual(valueThree, e.Current); Assert.IsNull(e.Next); Assert.IsTrue(e.IsLast); }
public void String_iteration() { const string valueOne = "one"; const string valueTwo = "two"; const string valueThree = "three"; string[] values = { valueOne, valueTwo, valueThree }; IArgumentEnumerator e = new StringArrayEnumerator(values); e.MoveNext(); e.Current.Should().Be(valueOne); e.Next.Should().Be(valueTwo); e.IsLast.Should().BeFalse(); e.MoveNext(); e.Current.Should().Be(valueTwo); e.Next.Should().Be(valueThree); e.IsLast.Should().BeFalse(); e.MoveNext(); e.Current.Should().Be(valueThree); e.Next.Should().BeNull(); e.IsLast.Should().BeTrue(); }
public void Get_next_input_values() { var ae = new StringArrayEnumerator(new string[] { "--optarr", "one", "two", "--plain", "3" }); ae.MoveNext(); // skip first, working like in a real case var items = ArgumentParser.InternalWrapperOfGetNextInputValues(ae); base.ElementsShouldBeEqual(new string[] { "one", "two" }, items); ae.Current.Should().Be("two"); }
public void GetNextInputValues() { var ae = new StringArrayEnumerator(new string[] { "--optarr", "one", "two", "--plain", "3" }); ae.MoveNext(); // skip first, working like in a real case var items = ArgumentParser.PublicWrapperOfGetNextInputValues(ae); base.AssertArrayItemEqual(new string[] { "one", "two" }, items); Assert.AreEqual("two", ae.Current); }
private bool DoParseArgumentsCore(string[] args, object options) { var hadError = false; var optionMap = OptionMap.Create(options, _settings); optionMap.SetDefaults(); var valueMapper = new ValueMapper(options, _settings.ParsingCulture); var arguments = new StringArrayEnumerator(args); while (arguments.MoveNext()) { var argument = arguments.Current; if (string.IsNullOrEmpty(argument)) { continue; } var parser = ArgumentParser.Create(argument, _settings.IgnoreUnknownArguments); if (parser != null) { var result = parser.Parse(arguments, optionMap, options); if ((result & PresentParserState.Failure) == PresentParserState.Failure) { SetParserStateIfNeeded(options, parser.PostParsingState); hadError = true; continue; } if ((result & PresentParserState.MoveOnNextElement) == PresentParserState.MoveOnNextElement) { arguments.MoveNext(); } } else if (valueMapper.CanReceiveValues) { if (!valueMapper.MapValueItem(argument)) { hadError = true; } } } hadError |= !optionMap.EnforceRules(); return(!hadError); }
private bool DoParseArgumentsCore(string[] args, object options) { var hadError = false; var optionMap = OptionMap.Create(options, _settings); optionMap.SetDefaults(); var valueMapper = new ValueMapper(options, _settings.ParsingCulture); var arguments = new StringArrayEnumerator(args); while (arguments.MoveNext()) { var argument = arguments.Current; if (string.IsNullOrEmpty(argument)) { continue; } var parser = ArgumentParser.Create(argument, _settings.IgnoreUnknownArguments); if (parser != null) { var result = parser.Parse(arguments, optionMap, options); if ((result & PresentParserState.Failure) == PresentParserState.Failure) { SetParserStateIfNeeded(options, parser.PostParsingState); hadError = true; continue; } if ((result & PresentParserState.MoveOnNextElement) == PresentParserState.MoveOnNextElement) { arguments.MoveNext(); } } else if (valueMapper.CanReceiveValues) { if (!valueMapper.MapValueItem(argument)) { hadError = true; } } } hadError |= !optionMap.EnforceRules(); return !hadError; }
private bool DoParseArgumentsCore(string[] args, object options) { bool hadError = false; var optionMap = OptionInfo.CreateMap(options, _settings); optionMap.SetDefaults(); var target = new TargetWrapper(options); IArgumentEnumerator arguments = new StringArrayEnumerator(args); while (arguments.MoveNext()) { string argument = arguments.Current; if (!string.IsNullOrEmpty(argument)) { ArgumentParser parser = ArgumentParser.Create(argument, _settings.IgnoreUnknownArguments); if (parser != null) { Internal.ParserState result = parser.Parse(arguments, optionMap, options); if ((result & Internal.ParserState.Failure) == Internal.ParserState.Failure) { SetParserStateIfNeeded(options, parser.PostParsingState); hadError = true; continue; } if ((result & Internal.ParserState.MoveOnNextElement) == Internal.ParserState.MoveOnNextElement) arguments.MoveNext(); } else if (target.IsValueListDefined) { if (!target.AddValueItemIfAllowed(argument)) { hadError = true; } } } } hadError |= !optionMap.EnforceRules(); return !hadError; }