Exemplo n.º 1
0
        public void TestCanAdd__Null()
        {
            ValueParseMap map = new ValueParseMap();

            map.AddParser(Exemplars.DummyValueParser <string>());

            Assert.Throws <ArgumentNullException>(() => map.CanAdd(null));
        }
Exemplo n.º 2
0
        public void TestGetParseType()
        {
            DefaultValueParseMap map         = new DefaultValueParseMap();
            IValueParser         dummyParser = Exemplars.DummyValueParser <DummyClass>();

            map.AddParser(dummyParser);

            Assert.Same(dummyParser, map.GetParser(typeof(DummyClass)));
        }
Exemplo n.º 3
0
        public void TestCanParse()
        {
            DefaultValueParseMap map = new DefaultValueParseMap();

            Assert.False(map.CanParse(typeof(DummyClass)));

            map.AddParser(Exemplars.DummyValueParser <DummyClass>());

            Assert.True(map.CanParse(typeof(DummyClass)));
        }
Exemplo n.º 4
0
        public void TestGetParseType__RegisteredEnum()
        {
            DefaultValueParseMap map         = new DefaultValueParseMap();
            IValueParser         dummyParser = Exemplars.DummyValueParser <DummyEnum>();

            map.AddParser(dummyParser);

            Assert.Same(dummyParser, map.GetParser(typeof(DummyEnum)));
            Assert.Same(dummyParser, map.GetParser(typeof(DummyEnum?)));
        }
Exemplo n.º 5
0
        public void TestCanAdd()
        {
            ValueParseMap map = new ValueParseMap();

            Assert.True(map.CanAdd(typeof(string)));

            map.AddParser(Exemplars.DummyValueParser <string>());

            Assert.False(map.CanAdd(typeof(string)));
        }
Exemplo n.º 6
0
        public void TestCanParse__RegisteredNullable()
        {
            DefaultValueParseMap map = new DefaultValueParseMap();

            Assert.False(map.CanParse(typeof(DummyStruct)));
            Assert.False(map.CanParse(typeof(DummyStruct?)));

            map.AddParser(Exemplars.DummyValueParser <DummyStruct?>());

            Assert.False(map.CanParse(typeof(DummyStruct)));
            Assert.True(map.CanParse(typeof(DummyStruct?)));
        }
Exemplo n.º 7
0
        public void TestGetParseType__Nullable()
        {
            DefaultValueParseMap map = new DefaultValueParseMap();

            Assert.Same(DefaultValueParseMap.BoolParser, map.GetParser(typeof(bool?)));

            IValueParser dummyParser = Exemplars.DummyValueParser <DummyStruct>();

            map.AddParser(dummyParser);

            Assert.Same(dummyParser, map.GetParser(typeof(DummyStruct?)));
        }
Exemplo n.º 8
0
        public void TestCanParse__RegisteredEnum()
        {
            DefaultValueParseMap map = new DefaultValueParseMap();

            Assert.True(map.CanParse(typeof(DummyEnum)));
            Assert.True(map.CanParse(typeof(DummyEnum?)));

            map.AddParser(Exemplars.DummyValueParser <DummyEnum>());
            Assert.True(map.CanParse(typeof(DummyEnum)));
            Assert.True(map.CanParse(typeof(DummyEnum?)));

            map.AddParser(Exemplars.DummyValueParser <DummyEnum?>());
            Assert.True(map.CanParse(typeof(DummyEnum)));
            Assert.True(map.CanParse(typeof(DummyEnum?)));
        }
Exemplo n.º 9
0
        public void TestGetParseType__RegisteredNullable()
        {
            DefaultValueParseMap map         = new DefaultValueParseMap();
            IValueParser         dummyParser = Exemplars.DummyValueParser <DummyStruct?>();

            map.AddParser(dummyParser);

            Assert.Same(dummyParser, map.GetParser(typeof(DummyStruct?)));
            Assert.Throws <ParseTypeNotRegisteredException>(() => map.GetParser(typeof(DummyStruct)));

            IValueParser dummyParser2 = Exemplars.DummyValueParser <DummyStruct>();

            map.AddParser(dummyParser2);

            Assert.Same(dummyParser, map.GetParser(typeof(DummyStruct?)));
            Assert.Same(dummyParser2, map.GetParser(typeof(DummyStruct)));
        }
Exemplo n.º 10
0
        public void TestClone()
        {
            IValueParser parser1 = Exemplars.DummyValueParser <int>();
            IValueParser parser2 = Exemplars.DummyValueParser <bool>();
            IValueParser parser3 = Exemplars.DummyValueParser <string>();

            ValueParseMap map = new ValueParseMap();

            map.AddParser(parser1);
            map.AddParser(parser2);

            ValueParseMap clone = map.Clone();

            Assert.Same(parser1, clone.GetParser(typeof(int)));
            Assert.Same(parser2, clone.GetParser(typeof(bool)));

            clone.AddParser(parser3);

            Assert.Same(parser3, clone.GetParser(typeof(string)));
            Assert.Throws <ParseTypeNotRegisteredException>(() => map.GetParser(typeof(string)));
        }
Exemplo n.º 11
0
        public void TestGetParseType__RegisteredNullableEnum()
        {
            DefaultValueParseMap map         = new DefaultValueParseMap();
            IValueParser         dummyParser = Exemplars.DummyValueParser <DummyEnum?>();

            map.AddParser(dummyParser);

            Assert.Same(dummyParser, map.GetParser(typeof(DummyEnum?)));

            IValueParser someParser = map.GetParser(typeof(DummyEnum));

            Assert.IsType <EnumValueParser>(someParser);
            Assert.Same(typeof(DummyEnum), someParser.ParseType);
            Assert.NotSame(dummyParser, someParser);

            IValueParser dummyParser2 = Exemplars.DummyValueParser <DummyEnum>();

            map.AddParser(dummyParser2);

            Assert.Same(dummyParser, map.GetParser(typeof(DummyEnum?)));
            Assert.Same(dummyParser2, map.GetParser(typeof(DummyEnum)));
        }