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); }
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); }
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); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
public void ToTypeParserResolver_NullDefault_Returns_Null_If_Invalid() { var attr = new UseParserAttribute(typeof(string)); Assert.IsNull(UseParserAttribute.ToTypeParserResolver(attr, null)); }
public void ToTypeParserResolver_NullDefault_Returns_Null_When_Attribute_Is_Null() { Assert.IsNull(UseParserAttribute.ToTypeParserResolver(null, null)); }