public void Work_With_Letters() { // arrange var builder = DefaultBuilder.CreateDefaultBuilder(); var root = builder.Context.ParserRepository.Get("util"); string value = null; var sut = new SeparatedSwitch(root, 'v', "value", (o, s) => { value = s; }) { Separator = ":" }; var info = new IterationInfo("-v:a".Split(' ')); // act // assert var canConsumeResult = sut.CanConsume("", info); canConsumeResult.ConsumingParameter.Should().BeSameAs(sut); canConsumeResult.NumConsumed.Should().Be(1); canConsumeResult.ParseExceptions.Should().BeEmpty(); canConsumeResult.Info.Index.Should().Be(1); var consumeResult = sut.Consume("", new ConsumptionRequest(info)); consumeResult.ConsumingParameter.Should().BeSameAs(sut); consumeResult.NumConsumed.Should().Be(1); consumeResult.ParseExceptions.Should().BeEmpty(); consumeResult.Info.Index.Should().Be(1); }
public void Consume_Everything_After_The_Separator_As_A_Single_Value0() { // arrange var builder = DefaultBuilder.CreateDefaultBuilder(); var root = builder.Context.ParserRepository.Get("util"); string value = null; var sut = new SeparatedSwitch(root, 'v', "value", (o, s) => { value = s; }); // act var info = new IterationInfo("-v=a".Split(' ')); var res = sut.Consume("", new ConsumptionRequest(info)); // assert res.ConsumingParameter.Should().BeSameAs(sut); value.Should().Be("a"); }