public void SetDefaultsOnComplexConfig()
        {
            // Arrange
            var config = new TestConfig2();

            // Act
            ValueProviderExecutor.Execute(config, new ValueProviderExecutorSettings().AddDefaultValueProvider());

            // Assert
            Assert.IsNotNull(config.Config);
            Assert.AreEqual(DefaultValues.Number, config.DummyNumber);
            Assert.AreEqual(DefaultValues.Number, config.Config.DummyNumber);
            Assert.AreEqual(1024, config.Config.DummyNumberReadOnly);
            Assert.AreEqual(DefaultValues.Text, config.Config.DummyText);
        }
        public void AdditionalFilterTest()
        {
            // Arrange
            var config = new TestConfig2();

            // Act
            ValueProviderExecutor.Execute(config,
                                          new ValueProviderExecutorSettings().AddDefaultValueProvider()
                                          .AddFilter(new NoStringValueProviderFilter()));

            // Assert
            Assert.IsNotNull(config.Config);
            Assert.AreEqual(DefaultValues.Number, config.DummyNumber);
            Assert.AreEqual(DefaultValues.Number, config.Config.DummyNumber);
            Assert.AreEqual(1024, config.Config.DummyNumberReadOnly);
            Assert.IsNull(config.Config.DummyText);
        }