public DirectProviderSetupFixture() { _provider = new TestSettingsProvider(new Dictionary<string, string> { {"First:Value", "things"} }); }
public void UnconvertableSettingResultsInFormatException() { var settingsProvider = new TestSettingsProvider(new Dictionary<string, string> { {"Smtp:Port", "abcdef"} }); var reader = new SimpleSettingsReader(settingsProvider); Assert.Throws<FormatException>(() => reader.Read<SmtpSettings>()); }
public void FailsIfSettingsHaveNoCorrespondingProperty() { var settingsProvider = new TestSettingsProvider(new Dictionary<string, string> { {"My:Name", "Mike"}, {"My:Blog", "http://codermike.com"} }); var reader = new SimpleSettingsReader(settingsProvider); Assert.Throws<Exception>(() => reader.Read<MySettings>()); }
public void CanReadAStringValue() { var settingsProvider = new TestSettingsProvider(new Dictionary<string, string> { {"My:Name", "Mike"} }); var reader = new SimpleSettingsReader(settingsProvider); var settings = reader.Read<MySettings>(); Assert.Equal("Mike", settings.Name); }
public void CanReadTypesOtherThanString() { var settingsProvider = new TestSettingsProvider(new Dictionary<string, string> { {"Smtp:Server", "fake-server"}, {"Smtp:Port", "12345"}, {"Smtp:UseSSL", "True"} }); var reader = new SimpleSettingsReader(settingsProvider); var settings = reader.Read<SmtpSettings>(); Assert.Equal("fake-server", settings.Server); Assert.Equal(12345, settings.Port); Assert.True(settings.UseSSL); }
public void CanReadManySettingsFromASingleSource() { var settingsProvider = new TestSettingsProvider(new Dictionary<string, string> { {"Smtp:Server", "test-server"}, {"My:Name", "Mike"} }); var reader = new SimpleSettingsReader(settingsProvider); var smtpSettings = reader.Read<SmtpSettings>(); var mySettings = reader.Read<MySettings>(); Assert.Equal("test-server", smtpSettings.Server); Assert.Equal("Mike", mySettings.Name); }
public void AttemptToSetTheUnsettableResultsInAnException() { var settingsProvider = new TestSettingsProvider(new Dictionary<string, string> { {"Test:Unsettable", "Bang"} }); var reader = new SimpleSettingsReader(settingsProvider); Assert.Throws<ArgumentException>(() => reader.Read<TestSettings>()); }
public void CanSetPrivateProperties() { var settingsProvider = new TestSettingsProvider(new Dictionary<string, string> { {"Foo:Bar", "Baz"} }); var reader = new SimpleSettingsReader(settingsProvider); var settings = reader.Read<FooSettings>(); Assert.Equal("Baz", settings.Bar); }