public void NameRegex() { var parser1 = A.Dummy <IParser>(); A.CallTo(() => parser1.Name).Returns(string.Empty); A.CallTo(() => parser1.NameRegex).Returns(@"^[a-z]$"); var parser2 = Helper.FakeParser <IParser>("abc"); var sut = new ParserDictionary <IParser>(); sut.Add(parser1); sut.Add(parser2); sut["a"].Should().Be(parser1); sut["b"].Should().Be(parser1); sut["c"].Should().Be(parser1); sut["z"].Should().Be(parser1); sut["abc"].Should().Be(parser2); }
public void DictionaryShouldBeCaseInsensitive(string lookFor) { var parser = Helper.FakeParser <INodeParser>("alpha"); var sut = new ParserDictionary <INodeParser>(); sut.Add(parser); sut[lookFor].Should().BeSameAs(parser); var result = sut.TryGet(lookFor, out var value); result.Should().BeTrue(); value.Should().BeSameAs(parser); }
public NodeAggregation(params INodeParser[] nodeParsers) { if (nodeParsers is null) { throw new ArgumentNullException(nameof(nodeParsers)); } var parsers = new ParserDictionary <INodeParser>(); foreach (var nodeParser in nodeParsers) { parsers.Add(nodeParser); } ChildParsers = parsers; }
public static void Add(this ParserDictionary <IAttributeParser> dic, IAttributeParser parser) => dic.Add(parser.ElementName, parser);