public void Load() { var deserializer = _serializerFactory.CreateDeserializer(); var settings = deserializer.Deserialize <SettingsValues?>(LoadOrCreateSettingsFile()) ?? new SettingsValues(); _settingsProvider.UseSettings(settings); }
public ConfigurationLoader( IConfigurationProvider configProvider, IFileSystem fileSystem, IYamlSerializerFactory yamlFactory, IValidator <T> validator) { _configProvider = configProvider; _fileSystem = fileSystem; _validator = validator; _deserializer = yamlFactory.CreateDeserializer(); }
public void Load_data_correctly_when_file_exists( [Frozen(Matching.ImplementedInterfaces)] MockFileSystem fileSystem, [Frozen] IYamlSerializerFactory serializerFactory, [Frozen] IResourcePaths paths, SettingsPersister sut) { // For this test, it doesn't really matter if the YAML data matches what SettingsValue expects; // this test only ensures that the data deserialized is from the actual correct file. var expectedYamlData = @" repository: clone_url: http://the_url.com "; var deserializer = Substitute.For <IDeserializer>(); serializerFactory.CreateDeserializer().Returns(deserializer); paths.SettingsPath.Returns("test_path"); fileSystem.AddFile(paths.SettingsPath, new MockFileData(expectedYamlData)); sut.Load(); deserializer.Received().Deserialize <SettingsValues>(expectedYamlData); }