Beispiel #1
0
        /// <summary>
        /// Retreives converter for given converter type and result type using ObjectMapperConfiguration (ConverterFactory and ConverterResolver).
        /// </summary>
        /// <param name="converterType">Converter type</param>
        /// <param name="returnType">Result type</param>
        /// <returns>
        /// Converter resolved by ObjectMapperConfiguration.ConverterFactory if converterType parameter is set.
        /// Converter resolved by ObjectMapperConfiguration.ConverterResolver for given returnType if converterType parameter is not set;
        /// </returns>
        public static IPropertyConverter GetConverter(Type converterType, Type returnType)
        {
            if (converterType != null)
            {
                return(_converterFactory.CreateConverter(converterType));
            }

            return(_converterResolver.Resolve(returnType));
        }
        public void Resolve_ReturnsSpecificConverter()
        {
            var forBoolean  = _converterResolver.Resolve(typeof(bool));
            var forDateTime = _converterResolver.Resolve(typeof(DateTime));
            var forDouble   = _converterResolver.Resolve(typeof(double));
            var forInteger  = _converterResolver.Resolve(typeof(int));

            Assert.IsInstanceOfType(forBoolean, typeof(BooleanConverter));
            Assert.IsInstanceOfType(forDateTime, typeof(DateTimeConverter));
            Assert.IsInstanceOfType(forDouble, typeof(DoubleConverter));
            Assert.IsInstanceOfType(forInteger, typeof(IntegerConverter));
        }