Beispiel #1
0
        public void Initialize_Initializes_SerializerSettings()
        {
            // Arrange
            var attr     = new MobileAppControllerAttribute();
            var settings = new HttpControllerSettings(this.nullConfig);

            // Act
            attr.Initialize(settings, null);

            // Assert
            // Verify SerializerSettings are set up as we expect
            var serializerSettings = settings.Formatters.JsonFormatter.SerializerSettings;

            Assert.Equal(typeof(ServiceContractResolver), serializerSettings.ContractResolver.GetType());
            Assert.Equal(DefaultValueHandling.Include, serializerSettings.DefaultValueHandling);
            Assert.Equal(NullValueHandling.Include, serializerSettings.NullValueHandling);

            // Verify Converters
            var stringEnumConverter = serializerSettings.Converters.Single(c => c.GetType() == typeof(StringEnumConverter)) as StringEnumConverter;

            Assert.False(stringEnumConverter.CamelCaseText);

            var isoDateTimeConverter = serializerSettings.Converters.Single(c => c.GetType() == typeof(IsoDateTimeConverter)) as IsoDateTimeConverter;

            Assert.Equal(DateTimeStyles.AdjustToUniversal, isoDateTimeConverter.DateTimeStyles);
            Assert.Equal("yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFZ", isoDateTimeConverter.DateTimeFormat);
            Assert.Equal(CultureInfo.InvariantCulture, isoDateTimeConverter.Culture);

            Assert.NotSame(this.nullConfig.Formatters.JsonFormatter.SerializerSettings.ContractResolver, settings.Formatters.JsonFormatter.SerializerSettings.ContractResolver);
            Assert.Same(settings.Formatters.JsonFormatter, settings.Formatters[0]);
        }
Beispiel #2
0
        public void Initialize_CallsRegisteredConfigProvider()
        {
            // Arrange
            var httpConfig         = new HttpConfiguration();
            var mockConfigProvider = new Mock <IMobileAppControllerConfigProvider>();

            httpConfig.SetMobileAppControllerConfigProvider(mockConfigProvider.Object);
            var attr       = new MobileAppControllerAttribute();
            var settings   = new HttpControllerSettings(httpConfig);
            var descriptor = new HttpControllerDescriptor()
            {
                Configuration = httpConfig
            };

            // Act
            attr.Initialize(settings, descriptor);

            // Assert
            mockConfigProvider.Verify(m => m.Configure(settings, descriptor), Times.Once);
        }
        public void Initialize_Initializes_SerializerSettings()
        {
            // Arrange
            var attr = new MobileAppControllerAttribute();
            var settings = new HttpControllerSettings(this.nullConfig);

            // Act
            attr.Initialize(settings, null);

            // Assert
            // Verify SerializerSettings are set up as we expect
            var serializerSettings = settings.Formatters.JsonFormatter.SerializerSettings;
            Assert.Equal(typeof(ServiceContractResolver), serializerSettings.ContractResolver.GetType());
            Assert.Equal(DefaultValueHandling.Include, serializerSettings.DefaultValueHandling);
            Assert.Equal(NullValueHandling.Include, serializerSettings.NullValueHandling);

            // Verify Converters
            var stringEnumConverter = serializerSettings.Converters.Single(c => c.GetType() == typeof(StringEnumConverter)) as StringEnumConverter;
            Assert.True(stringEnumConverter.CamelCaseText);

            var isoDateTimeConverter = serializerSettings.Converters.Single(c => c.GetType() == typeof(IsoDateTimeConverter)) as IsoDateTimeConverter;
            Assert.Equal(DateTimeStyles.AdjustToUniversal, isoDateTimeConverter.DateTimeStyles);
            Assert.Equal("yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFZ", isoDateTimeConverter.DateTimeFormat);
            Assert.Equal(CultureInfo.InvariantCulture, isoDateTimeConverter.Culture);

            Assert.NotSame(this.nullConfig.Formatters.JsonFormatter.SerializerSettings.ContractResolver, settings.Formatters.JsonFormatter.SerializerSettings.ContractResolver);
            Assert.Same(settings.Formatters.JsonFormatter, settings.Formatters[0]);
        }
        public void Initialize_CallsRegisteredConfigProvider()
        {
            // Arrange
            var httpConfig = new HttpConfiguration();
            var mockConfigProvider = new Mock<IMobileAppControllerConfigProvider>();
            httpConfig.SetMobileAppControllerConfigProvider(mockConfigProvider.Object);
            var attr = new MobileAppControllerAttribute();
            var settings = new HttpControllerSettings(httpConfig);
            var descriptor = new HttpControllerDescriptor()
            {
                Configuration = httpConfig
            };

            // Act
            attr.Initialize(settings, descriptor);

            // Assert
            mockConfigProvider.Verify(m => m.Configure(settings, descriptor), Times.Once);
        }