public void CanResolveUsingCustomParser() { var count = 0; var options = ConfigurationOptions.Create(); options.WithParser((type, parser) => { type.ShouldBe(typeof(SomeDecimalSetting)); parser.ShouldNotBeNull(); count.ShouldBe(0); count++; return(parser); }); // Chaining multiple functions options.WithParser((type, parser) => { type.ShouldBe(typeof(SomeDecimalSetting)); parser.ShouldNotBeNull(); count.ShouldBe(1); return(parser); }); var configurationFactory = ConfigurationFactoryCreator.Create(options); SomeDecimalSetting config = configurationFactory.CreateConfigurationSetting(typeof(SomeDecimalSetting)); config.Value.ShouldBeOfType <decimal>(); config.Value.Equals(decimal.Parse("1.2345")).ShouldBeTrue(); }
public void CanResolveDecimalSetting() { SomeDecimalSetting config = _configurationFactory.CreateConfigurationSetting(typeof(SomeDecimalSetting)); config.Value.ShouldBeOfType <decimal>(); config.Value.Equals(decimal.Parse("1.2345")).ShouldBeTrue(); }
public void CanResolveSettingWithCustomName() { var options = ConfigurationOptions.Create(); options.WithNamingScheme((type, name) => { if (type == typeof(SomeDecimalSetting)) { return(new KeyName("SomeSection:", name.QualifiedKeyName)); } return(name); }); var configurationFactory = ConfigurationFactoryCreator.Create(options); SomeDecimalSetting config = configurationFactory.CreateConfigurationSetting(typeof(SomeDecimalSetting)); config.Value.ShouldBeOfType <decimal>(); config.Value.Equals(decimal.Parse("0.12345")).ShouldBeTrue(); }