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 Return_No_Consumption_Result_If_Doesnt_Match() { // 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("-x:a".Split(' ')); // act // assert var res = sut.CanConsume("", info); res.ConsumingParameter.Should().Be(sut); res.NumConsumed.Should().Be(0); res.ParseExceptions.Should().BeEmpty(); }