public void ShouldAllowPartKeysToHaveBooleanValuesToEnableThemWithoutSpecifyingConfig() { const string configString = @" { 'Parts': { 'Part1': true, 'Part2': false } }"; // Arrange var configFile = new TestTextFile(configString); // Act var config = new JsonRobotConfiguration(configFile); // Assert var part1 = config.Parts.First(); Assert.Equal("Part1", part1.Name); Assert.True(part1.IsEnabled); var part2 = config.Parts.Last(); Assert.Equal("Part2", part2.Name); Assert.False(part2.IsEnabled); }
public void ShouldInitializeKeyValuePairsFromLoader() { const string configString = @" { 'Settings': { 'Global1': 42, 'Global2': 'Foo' } }"; // Arrange var configFile = new TestTextFile(configString); // Act var config = new JsonRobotConfiguration(configFile); // Assert Assert.Equal(42, config.GetSetting("Global1", Int32.Parse)); Assert.Equal("Foo", config.GetSetting("Global2")); }
public void ShouldInitializePartConfigurations() { const string configString = @" { 'Parts': { 'Part1': { 'Enabled': true, 'Settings': { 'Local1': 42 } }, 'Part2': { 'Enabled': false, 'Settings': { 'Local2': 'Foo' } } } }"; // Arrange var configFile = new TestTextFile(configString); // Act var config = new JsonRobotConfiguration(configFile); // Assert var part1 = config.Parts.First(); Assert.Equal("Part1", part1.Name); Assert.True(part1.IsEnabled); Assert.Equal(42, part1.GetSetting("Local1", Int32.Parse)); var part2 = config.Parts.Last(); Assert.Equal("Part2", part2.Name); Assert.False(part2.IsEnabled); Assert.Equal("Foo", part2.GetSetting("Local2")); }