public void TestCanAdd__Null() { ValueParseMap map = new ValueParseMap(); map.AddParser(Exemplars.DummyValueParser <string>()); Assert.Throws <ArgumentNullException>(() => map.CanAdd(null)); }
public void TestGetParseType() { DefaultValueParseMap map = new DefaultValueParseMap(); IValueParser dummyParser = Exemplars.DummyValueParser <DummyClass>(); map.AddParser(dummyParser); Assert.Same(dummyParser, map.GetParser(typeof(DummyClass))); }
public void TestCanParse() { DefaultValueParseMap map = new DefaultValueParseMap(); Assert.False(map.CanParse(typeof(DummyClass))); map.AddParser(Exemplars.DummyValueParser <DummyClass>()); Assert.True(map.CanParse(typeof(DummyClass))); }
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?))); }
public void TestCanAdd() { ValueParseMap map = new ValueParseMap(); Assert.True(map.CanAdd(typeof(string))); map.AddParser(Exemplars.DummyValueParser <string>()); Assert.False(map.CanAdd(typeof(string))); }
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?))); }
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?))); }
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?))); }
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))); }
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))); }
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))); }