示例#1
0
        public void Add_ParserWithNonIBObjectType_ThrowsArgumentException(Type type, IBObjectParser parser)
        {
            var    list   = new BObjectParserList();
            Action action = () => list.Add(type, parser);

            action.ShouldThrow <ArgumentException>("because only IBObject types are allowed");
        }
        public void Add_ParserWithNonIBObjectType_ThrowsArgumentException(Type type, IBObjectParser parser)
        {
            var list = new BObjectParserList();
            Action action = () => list.Add(type, parser);

            action.ShouldThrow<ArgumentException>("because only IBObject types are allowed");
        }
        public void Add_GenericParser_ContainsOnlyThatParser(IBObjectParser<IBObject> parser)
        {
            var list = new BObjectParserList();
            list.Add(parser);

            list.Should().HaveCount(1);
            list.Should().ContainSingle(x => x.Value == parser);
        }
        public void Add_GenericParser_AddedWithGenericTypeAsKey(IBObjectParser<IBObject> parser)
        {
            var list = new BObjectParserList();
            list.Add(parser);

            list.Should().HaveCount(1);
            list.Should().ContainSingle(x => x.Key == typeof(IBObject));
        }
示例#5
0
        public void Get_Generic_ReturnsNullIfNoMatchingParser()
        {
            var list = new BObjectParserList();

            var parser = list.Get <BString>();

            parser.Should().BeNull();
        }
示例#6
0
        public void Indexer_Get_ReturnsNullIfKeyMissing()
        {
            var list = new BObjectParserList();

            var parser = list[typeof(object)];

            parser.Should().BeNull();
        }
        public void Add_ParserWithType_ReplacesExistingOfSameGenericType(IBObjectParser parser)
        {
            var list = new BObjectParserList();
            list.Add(typeof(BString), parser);
            list.Add(typeof(BString), parser);

            list.Should().HaveCount(1);
            list.Should().ContainSingle(x => x.Value == parser);
        }
        public void Add_GenericParser_ReplacesExistingOfSameGenericType(IBObjectParser<IBObject> parser)
        {
            var list = new BObjectParserList();
            list.Add(parser);
            list.Add(parser);

            list.Should().HaveCount(1);
            list.Should().ContainSingle(x => x.Value == parser);
        }
示例#9
0
        public void Add_GenericParser_AddedWithGenericTypeAsKey(IBObjectParser <IBObject> parser)
        {
            var list = new BObjectParserList();

            list.Add(parser);

            list.Should().HaveCount(1);
            list.Should().ContainSingle(x => x.Key == typeof(IBObject));
        }
示例#10
0
        public void Add_GenericParser_ContainsOnlyThatParser(IBObjectParser <IBObject> parser)
        {
            var list = new BObjectParserList();

            list.Add(parser);

            list.Should().HaveCount(1);
            list.Should().ContainSingle(x => x.Value == parser);
        }
        public void Add_WithMultipleTypes_AddsParserForEachType(IBObjectParser parser)
        {
            var types = new[] {typeof (BString), typeof (BNumber), typeof (BList)};

            var list = new BObjectParserList();
            list.Add(types, parser);

            list.Should().HaveCount(3);
            list.Should().OnlyContain(x => x.Value == parser);
        }
示例#12
0
        public void Clear_EmptiesList(IBObjectParser <BString> parser1, IBObjectParser <BNumber> parser2)
        {
            var list = new BObjectParserList {
                parser1, parser2
            };

            list.Clear();

            list.Should().BeEmpty();
        }
示例#13
0
        public void Add_GenericParser_ReplacesExistingOfSameGenericType(IBObjectParser <IBObject> parser)
        {
            var list = new BObjectParserList();

            list.Add(parser);
            list.Add(parser);

            list.Should().HaveCount(1);
            list.Should().ContainSingle(x => x.Value == parser);
        }
示例#14
0
        public void Add_ParserWithType_ReplacesExistingOfSameGenericType(IBObjectParser parser)
        {
            var list = new BObjectParserList();

            list.Add(typeof(BString), parser);
            list.Add(typeof(BString), parser);

            list.Should().HaveCount(1);
            list.Should().ContainSingle(x => x.Value == parser);
        }
示例#15
0
        public void Add_WithMultipleTypes_AddsParserForEachType(IBObjectParser parser)
        {
            var types = new[] { typeof(BString), typeof(BNumber), typeof(BList) };

            var list = new BObjectParserList();

            list.Add(types, parser);

            list.Should().HaveCount(3);
            list.Should().OnlyContain(x => x.Value == parser);
        }
示例#16
0
        public void Indexer_Set_AddsParserForType()
        {
            var stringParser = new BStringParser();

            var list = new BObjectParserList();

            list[typeof(BString)] = stringParser;

            list.Should().HaveCount(1);
            list[typeof(BString)].Should().BeSameAs(stringParser);
        }
示例#17
0
        public void Get_Generic_ReturnsMatchingParser()
        {
            var stringParser = new BStringParser();
            var list         = new BObjectParserList {
                stringParser
            };

            var parser = list.Get <BString>();

            parser.Should().BeSameAs(stringParser);
        }
示例#18
0
        public void Indexer_Get_ReturnsMatchingParserForType()
        {
            var stringParser = new BStringParser();
            var list         = new BObjectParserList {
                stringParser
            };

            var parser = list[typeof(BString)];

            parser.Should().BeSameAs(stringParser);
        }
示例#19
0
        public void Indexer_Set_ReplacesExistingParserForType()
        {
            var stringParser1 = new BStringParser();
            var stringParser2 = new BStringParser();
            var list          = new BObjectParserList {
                stringParser1
            };

            list[typeof(BString)] = stringParser2;

            list.Should().HaveCount(1);
            list[typeof(BString)].Should().BeSameAs(stringParser2);
        }
        public void Get_Generic_ReturnsNullIfNoMatchingParser()
        {
            var list = new BObjectParserList();

            var parser = list.Get<BString>();

            parser.Should().BeNull();
        }
        public void Indexer_Get_ReturnsNullIfKeyMissing()
        {
            var list = new BObjectParserList();

            var parser = list[typeof (object)];

            parser.Should().BeNull();
        }
        public void Indexer_Set_AddsParserForType()
        {
            var stringParser = new BStringParser();

            var list = new BObjectParserList();
            list[typeof (BString)] = stringParser;

            list.Should().HaveCount(1);
            list[typeof (BString)].Should().BeSameAs(stringParser);
        }
        public void Indexer_Set_ReplacesExistingParserForType()
        {
            var stringParser1 = new BStringParser();
            var stringParser2 = new BStringParser();
            var list = new BObjectParserList { stringParser1 };

            list[typeof (BString)] = stringParser2;

            list.Should().HaveCount(1);
            list[typeof (BString)].Should().BeSameAs(stringParser2);
        }
        public void Clear_EmptiesList(IBObjectParser<BString> parser1, IBObjectParser<BNumber> parser2)
        {
            var list = new BObjectParserList {parser1, parser2};
            list.Clear();

            list.Should().BeEmpty();
        }
        public void Indexer_Get_ReturnsMatchingParserForType()
        {
            var stringParser = new BStringParser();
            var list = new BObjectParserList {stringParser};

            var parser = list[typeof(BString)];

            parser.Should().BeSameAs(stringParser);
        }
        public void Get_Generic_ReturnsMatchingParser()
        {
            var stringParser = new BStringParser();
            var list = new BObjectParserList {stringParser};

            var parser = list.Get<BString>();

            parser.Should().BeSameAs(stringParser);
        }