public void Initialize_Calls_MobileAppControllerConfigProvider_Then_TableControllerConfigProvider()
        {
            // Arrange
            HttpConfiguration config = new HttpConfiguration();
            HttpControllerSettings settings = new HttpControllerSettings(config);
            HttpControllerDescriptor descriptor = new HttpControllerDescriptor()
            {
                Configuration = config
            };

            string output = string.Empty;

            Mock<IMobileAppControllerConfigProvider> configProviderMock = new Mock<IMobileAppControllerConfigProvider>();
            configProviderMock.Setup(p => p.Configure(settings, descriptor)).Callback(() => output += "1");
            config.SetMobileAppControllerConfigProvider(configProviderMock.Object);

            Mock<ITableControllerConfigProvider> tableConfigProviderMock = new Mock<ITableControllerConfigProvider>();
            tableConfigProviderMock.Setup(p => p.Configure(settings, descriptor)).Callback(() => output += "2");
            config.SetTableControllerConfigProvider(tableConfigProviderMock.Object);

            // Act
            new TableControllerConfigAttribute().Initialize(settings, descriptor);

            // Assert
            configProviderMock.VerifyAll();
            tableConfigProviderMock.VerifyAll();
            Assert.Equal("12", output);
        }
        public void SetMobileAppControllerConfigProvider_Roundtrips()
        {
            // Arrange
            TableControllerConfigProvider provider = new TableControllerConfigProvider();
            HttpConfiguration config = new HttpConfiguration();

            // Act
            config.SetTableControllerConfigProvider(provider);
            ITableControllerConfigProvider actual = config.GetTableControllerConfigProvider();

            // Assert
            Assert.Same(provider, actual);
        }
        public void Initialize_Calls_TableControllerConfigProvider()
        {
            // Arrange
            Mock<ITableControllerConfigProvider> configProviderMock = new Mock<ITableControllerConfigProvider>();
            HttpConfiguration config = new HttpConfiguration();
            config.SetTableControllerConfigProvider(configProviderMock.Object);

            HttpControllerSettings settings = new HttpControllerSettings(config);
            HttpControllerDescriptor descriptor = new HttpControllerDescriptor()
            {
                Configuration = config
            };

            // Act
            this.tableControllerConfig.Initialize(settings, descriptor);

            // Assert
            configProviderMock.Verify(p => p.Configure(settings, descriptor), Times.Once());
        }
 /// <summary>
 /// </summary>
 /// <param name="config"></param>
 public void Initialize(HttpConfiguration config)
 {
     config.SetTableControllerConfigProvider(this.provider);
 }