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<,>));
        }
Exemple #2
0
        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<>));
        }