public void DefaultFallsBackToTrivialTypeResolver() { // --- Arrange var typeName = typeof (MyType).AssemblyQualifiedName; var typeResolver = new DefaultTypeResolver(null); // --- Act var type = typeResolver.Resolve(typeName); // --- Assert type.ShouldEqual(typeof (MyType)); }
public void IntrinsicTypesAreRecognized() { // --- Arrange var typeResolver = new DefaultTypeResolver(null); // --- Act var type1 = typeResolver.Resolve("bool"); var type2 = typeResolver.Resolve("char"); var type3 = typeResolver.Resolve("byte"); var type4 = typeResolver.Resolve("sbyte"); var type5 = typeResolver.Resolve("short"); var type6 = typeResolver.Resolve("ushort"); var type7 = typeResolver.Resolve("int"); var type8 = typeResolver.Resolve("uint"); var type9 = typeResolver.Resolve("long"); var type10 = typeResolver.Resolve("ulong"); var type11 = typeResolver.Resolve("decimal"); var type12 = typeResolver.Resolve("float"); var type13 = typeResolver.Resolve("double"); var type14 = typeResolver.Resolve("string"); var type15 = typeResolver.Resolve("object"); var type16 = typeResolver.Resolve("Type"); var type17 = typeResolver.Resolve("Guid"); var type18 = typeResolver.Resolve("DateTime"); // --- Assert type1.ShouldEqual(typeof(bool)); type2.ShouldEqual(typeof(char)); type3.ShouldEqual(typeof(byte)); type4.ShouldEqual(typeof(sbyte)); type5.ShouldEqual(typeof(short)); type6.ShouldEqual(typeof(ushort)); type7.ShouldEqual(typeof(int)); type8.ShouldEqual(typeof(uint)); type9.ShouldEqual(typeof(long)); type10.ShouldEqual(typeof(ulong)); type11.ShouldEqual(typeof(decimal)); type12.ShouldEqual(typeof(float)); type13.ShouldEqual(typeof(double)); type14.ShouldEqual(typeof(string)); type15.ShouldEqual(typeof(object)); type16.ShouldEqual(typeof(Type)); type17.ShouldEqual(typeof(Guid)); type18.ShouldEqual(typeof(DateTime)); }
public void TypeResolutionDetectsAmbigousTypes() { // --- Arrange var settings = new TypeResolverConfigurationSettings( (XElement)ConfigurationManager.GetSection("TypeResolver1")); var typeResolver = new DefaultTypeResolver(settings); // --- Act typeResolver.Resolve("MyType").ShouldBeNull(); }
public void UnloadableAssembliesDoNotFail() { // --- Arrange var settings = new TypeResolverConfigurationSettings( (XElement)ConfigurationManager.GetSection("TypeResolver1")); var typeResolver = new DefaultTypeResolver(settings); // --- Act var type = typeResolver.Resolve("ThisIsADummyType, ThisIsADummyType.dll"); // --- Assert type.ShouldBeNull(); }
public void UnknownTypesAreResolvedToNull() { // --- Arrange var settings = new TypeResolverConfigurationSettings( (XElement)ConfigurationManager.GetSection("TypeResolver1")); var typeResolver = new DefaultTypeResolver(settings); // --- Act var type = typeResolver.Resolve("ThisIsADummyType"); // --- Assert type.ShouldBeNull(); }
public void TypeResolutionWorksFromAppConfig() { // --- Arrange var settings = new TypeResolverConfigurationSettings( (XElement) ConfigurationManager.GetSection("TypeResolver1")); var typeResolver = new DefaultTypeResolver(settings); // --- Act var type1 = typeResolver.Resolve("Int32"); var type2 = typeResolver.Resolve("String"); var type3 = typeResolver.Resolve("uint"); // --- Assert type1.ShouldEqual(typeof(int)); type2.ShouldEqual(typeof(string)); type3.ShouldEqual(typeof(uint)); }