public RekoConfigurationService(IServiceProvider services, string rekoConfigPath, RekoConfiguration_v1 config)
        {
            var pluginSvc = services.GetService <IPluginLoaderService>();

            if (pluginSvc is null)
            {
                pluginSvc = new PluginLoaderService();
            }
            this.pluginSvc      = pluginSvc;
            this.configFileRoot = Path.GetDirectoryName(rekoConfigPath);
            this.services       = services;
            this.loaders        = LoadCollection(config.Loaders, LoadLoaderConfiguration);
            this.sigFiles       = LoadCollection(config.SignatureFiles, LoadSignatureFile);
            this.architectures  = LoadCollection(config.Architectures, LoadArchitecture);
            this.opEnvs         = LoadCollection(config.Environments, LoadEnvironment);
            this.symSources     = LoadCollection(config.SymbolSources, LoadSymbolSource);
            this.rawFiles       = LoadCollection(config.RawFiles, LoadRawFile);
            this.uiPreferences  = new UiPreferencesConfiguration();
            if (config.UiPreferences != null)
            {
                this.uiPreferences.Styles =
                    LoadCollection(config.UiPreferences.Styles, LoadUiStyle);
            }
            ;
        }
 public CalculatorServiceTests(IPluginLoaderService pluginLoader, ICalculatorService calc)
 {
     _pluginLoader = pluginLoader;
     _calc         = calc;
 }
 /// <summary>
 /// Initialize Calculator Service
 /// </summary>
 /// <param name="pluginLoader"></param>
 /// <param name="logger"></param>
 /// <param name="config"></param>
 public CalculatorService(IPluginLoaderService pluginLoader, ILoggerManager logger, IPluginConfigurationWrapper config)
 {
     _pluginLoader = pluginLoader;
     _logger       = logger;
     _config       = config;
 }