public SettingsSingleton(
            IFileSystem fileSystem,
            IGuiSettingsPath guiPaths,
            IGuiSettingsImporter guiSettingsImporter,
            IPipelineSettingsImporter pipelineSettingsImporter,
            IPipelineSettingsPath paths)
        {
            ISynthesisGuiSettings?guiSettings  = null;
            IPipelineSettings?    pipeSettings = null;

            Task.WhenAll(
                Task.Run(async() =>
            {
                if (fileSystem.File.Exists(guiPaths.Path))
                {
                    guiSettings = guiSettingsImporter.Import(guiPaths.Path);
                }
            }),
                Task.Run(async() =>
            {
                if (fileSystem.File.Exists(paths.Path))
                {
                    pipeSettings = pipelineSettingsImporter.Import(paths.Path);
                }
            })
                ).Wait();
            Gui      = guiSettings ?? new SynthesisGuiSettings();
            Pipeline = pipeSettings ?? new PipelineSettings();
        }
Example #2
0
 public void ReturnsDefaultGuiIfMissing(
     [Frozen] IGuiSettingsPath guiPaths,
     [Frozen] IGuiSettingsImporter settingsImporter,
     FilePath missingPath,
     ISynthesisGuiSettings settings,
     Func <SettingsSingleton> sut)
 {
     settingsImporter.Import(default).ReturnsForAnyArgs(settings);