Ejemplo n.º 1
0
        public void Ctor_Rejects_Multiple_Parsers_For_Same_Type()
        {
            var attr = new UseParserAttribute(typeof(DateTime_Invariant_Parser), typeof(DateTime_Local_Parser));

            Assert.IsFalse(attr.IsValid);
            Assert.IsFalse(String.IsNullOrEmpty(attr.CtorErrorMessage));
            Assert.AreEqual(0, attr.Parsers.Length);
        }
Ejemplo n.º 2
0
        public void Ctor_Accepts_Empty_Set()
        {
            var attr = new UseParserAttribute();

            Assert.IsTrue(attr.IsValid);
            Assert.IsTrue(String.IsNullOrEmpty(attr.CtorErrorMessage));
            Assert.AreEqual(0, attr.Parsers.Length);
        }
Ejemplo n.º 3
0
        public void Ctor_Rejects_Non_Parser_Types()
        {
            var attr = new UseParserAttribute(typeof(string));

            Assert.IsFalse(attr.IsValid);
            Assert.IsFalse(String.IsNullOrEmpty(attr.CtorErrorMessage));
            Assert.AreEqual(0, attr.Parsers.Length);
        }
Ejemplo n.º 4
0
        public void ToTypeParserResolver_NullDefault_Returns_Resolver_Filled_With_Parsers_From_Ctor()
        {
            var attr = new UseParserAttribute(typeof(DateTime_Iso8601_Parser), typeof(DateTimeOffset_Iso8601_Parser));

            var resolver = UseParserAttribute.ToTypeParserResolver(attr, null);

            Assert.IsInstanceOfType(resolver.Find <DateTime>(), typeof(DateTime_Iso8601_Parser));
            Assert.IsInstanceOfType(resolver.Find <DateTimeOffset>(), typeof(DateTimeOffset_Iso8601_Parser));
        }
Ejemplo n.º 5
0
        public void ToTypeParserResolver_WithDefault_Returns_Default_When_Attribute_Is_Null()
        {
            var defaultResolver = new TypeParserResolver(new DateTime_Local_Parser(), new ByteArray_Mime64_Parser());
            var resolver        = UseParserAttribute.ToTypeParserResolver(null, defaultResolver);

            Assert.AreEqual(2, resolver.GetParsers().Length);
            Assert.IsInstanceOfType(resolver.DateTimeParser, typeof(DateTime_Local_Parser));
            Assert.IsInstanceOfType(resolver.ByteArrayParser, typeof(ByteArray_Mime64_Parser));
        }
Ejemplo n.º 6
0
        public void Ctor_Accepts_Single_Parser()
        {
            var attr = new UseParserAttribute(typeof(DateTime_Local_Parser));

            Assert.IsTrue(attr.IsValid);
            Assert.IsTrue(String.IsNullOrEmpty(attr.CtorErrorMessage));

            Assert.AreEqual(1, attr.Parsers.Length);
            Assert.IsInstanceOfType(attr.Parsers[0], typeof(DateTime_Local_Parser));
        }
Ejemplo n.º 7
0
        public void ToTypeParserResolver_WithDefault_Returns_Default_If_Invalid()
        {
            var attr            = new UseParserAttribute(typeof(string));
            var defaultResolver = new TypeParserResolver(new DateTime_Local_Parser(), new ByteArray_Mime64_Parser());
            var resolver        = UseParserAttribute.ToTypeParserResolver(attr, defaultResolver);

            Assert.AreEqual(2, resolver.GetParsers().Length);
            Assert.IsInstanceOfType(resolver.DateTimeParser, typeof(DateTime_Local_Parser));
            Assert.IsInstanceOfType(resolver.ByteArrayParser, typeof(ByteArray_Mime64_Parser));
        }
Ejemplo n.º 8
0
        public void Ctor_Accepts_More_Than_One_Parser()
        {
            var attr = new UseParserAttribute(typeof(DateTime_Local_Parser), typeof(DateTimeOffset_Local_Parser));

            Assert.IsTrue(attr.IsValid);
            Assert.IsTrue(String.IsNullOrEmpty(attr.CtorErrorMessage));

            Assert.AreEqual(2, attr.Parsers.Length);
            Assert.IsTrue(attr.Parsers.Any(r => r as DateTime_Local_Parser != null));
            Assert.IsTrue(attr.Parsers.Any(r => r as DateTimeOffset_Local_Parser != null));
        }
Ejemplo n.º 9
0
        public void ToTypeParserResolver_WithDefault_Returns_Resolver_Filled_With_Parsers_From_Ctor()
        {
            var attr = new UseParserAttribute(typeof(DateTime_Iso8601_Parser), typeof(DateTimeOffset_Iso8601_Parser));

            var defaultResolver = new TypeParserResolver(new DateTime_Local_Parser(), new ByteArray_Mime64_Parser());
            var resolver        = UseParserAttribute.ToTypeParserResolver(attr, defaultResolver);

            Assert.AreEqual(3, resolver.GetParsers().Length);
            Assert.IsInstanceOfType(resolver.DateTimeParser, typeof(DateTime_Iso8601_Parser));
            Assert.IsInstanceOfType(resolver.DateTimeOffsetParser, typeof(DateTimeOffset_Iso8601_Parser));
            Assert.IsInstanceOfType(resolver.ByteArrayParser, typeof(ByteArray_Mime64_Parser));
        }
Ejemplo n.º 10
0
        public void ToTypeParserResolver_NullDefault_Returns_Null_If_Invalid()
        {
            var attr = new UseParserAttribute(typeof(string));

            Assert.IsNull(UseParserAttribute.ToTypeParserResolver(attr, null));
        }
Ejemplo n.º 11
0
 public void ToTypeParserResolver_NullDefault_Returns_Null_When_Attribute_Is_Null()
 {
     Assert.IsNull(UseParserAttribute.ToTypeParserResolver(null, null));
 }