public void CreateTypeConverterOrDefault_WithEnum_ReturnsAdvancedEnumConverter()
        {
            var typeConverter = _factory.CreateTypeConverterOrDefault(typeof(Int32Enum));

            Assert.That(typeConverter, Is.TypeOf <AdvancedEnumConverter>());
            Assert.That(((AdvancedEnumConverter)typeConverter).EnumType, Is.EqualTo(typeof(Int32Enum)));
        }
        public void CreateTypeConverterOrDefault_WithExtensibleEnum_ReturnsExtensibleEnumConverter()
        {
            var typeConverter = _factory.CreateTypeConverterOrDefault(typeof(Color));

            Assert.That(typeConverter, Is.TypeOf <ExtensibleEnumConverter>());
            Assert.That(((ExtensibleEnumConverter)typeConverter).ExtensibleEnumType, Is.EqualTo(typeof(Color)));
        }
        protected TypeConverter GetTypeConverterFromFactory(Type type)
        {
            ArgumentUtility.CheckNotNull("type", type);

            TypeConverter converter = GetTypeConverterFromCache(type);

            if (converter == null && !HasTypeInCache(type))
            {
                converter = _typeConverterFactory.CreateTypeConverterOrDefault(type);
                AddTypeConverterToCache(type, converter);
            }
            return(converter);
        }
        public void CreateTypeConverterOrDefault_WithTypeConverter_ReturnsTypeConverter()
        {
            var typeConverter = _factory.CreateTypeConverterOrDefault(typeof(BaseType));

            Assert.That(typeConverter, Is.TypeOf <StubTypeConverter>());
        }