public void InitializeTypeMapper_should_configure_TypeMapper_to_resolve_types() { // Arrange var initializer = new CollectionMappingInitializer(); var typeMapper = new TypeMapper(); // Act initializer.InitializeTypeMapper(typeMapper); // Assert typeMapper.Resolve<IList>().ShouldEqual(typeof(ArrayList)); typeMapper.Resolve<IDictionary>().ShouldEqual(typeof(Hashtable)); typeMapper.Resolve<IList<string>>().ShouldEqual(typeof(List<string>)); typeMapper.Resolve<IDictionary<int, double>>() .ShouldEqual(typeof(Dictionary<int, double>)); Assert.Throws<ApplicationException>( () => typeMapper.Resolve<IEnumerable>()); typeMapper.Resolve(typeof(IList<>)).ShouldEqual(typeof(List<>)); typeMapper.Resolve(typeof(IDictionary<,>)).ShouldEqual(typeof(Dictionary<,>)); }
public void Should_get_proper_mapping_to_types_for_interfaces() { // Arrange var initializer = new IInterfaceConventionInitializer(); var typeMapper = new TypeMapper(); // Act initializer.InitializeTypeMapper(typeMapper); // Assert typeMapper.Resolve(typeof (ITypeMapper)).ShouldEqual(typeof (TypeMapper)); typeMapper.Resolve(typeof (IInitializerFilter)).ShouldEqual(typeof (InitializerFilter)); typeMapper.Resolve(typeof (IInitializerLocator)).ShouldEqual(typeof (InitializerLocator)); typeMapper.Resolve(typeof (IPropertySetterFactory)).ShouldEqual(typeof (PropertySetterFactory)); typeMapper.Resolve(typeof (IPropertyHelper<string>)).ShouldEqual(typeof (PropertyHelper<string>)); typeMapper.Resolve(typeof (IPropertyHelper<Int64>)).ShouldEqual(typeof (PropertyHelper<Int64>)); typeMapper.Resolve(typeof (IPropertyHelper<>)).ShouldEqual(typeof (PropertyHelper<>)); }