public void GetSteamCmdDirectory()
        {
            GhostPanelConfig config = FakeConfig.GetFakeConfig();
            var provider            = new DefaultDirectoryProvider(config);

            Assert.Equal("C:\\SteamCmd", provider.GetSteamCmdDirectory());
        }
        public void GetBaseInstallDirectory()
        {
            GhostPanelConfig config = FakeConfig.GetFakeConfig();
            var provider            = new DefaultDirectoryProvider(config);

            Assert.Equal("C:\\Game Servers", provider.GetBaseInstallDirectory());
        }
        public void GetGameFileDirectory()
        {
            GhostPanelConfig config = FakeConfig.GetFakeConfig();
            var provider            = new DefaultDirectoryProvider(config);

            Assert.Equal("C:\\Server Files", provider.GetGameFileDirectory());
        }
        private static List <string> GetDirectoriesToScan(SchedulerContext schedCtxt, JobDataMap mergedJobDataMap)
        {
            IDirectoryProvider directoryProvider = new DefaultDirectoryProvider();
            var explicitDirProviderName          = mergedJobDataMap.GetString(DirectoryScanJob.DirectoryProviderName);

            if (explicitDirProviderName != null)
            {
                schedCtxt.TryGetValue(explicitDirProviderName, out var temp);
                IDirectoryProvider explicitProvider = (IDirectoryProvider)temp;
                directoryProvider = explicitProvider ?? throw new JobExecutionException("IDirectoryProvider named '" +
                                                                                        explicitDirProviderName + "' not found in SchedulerContext");
            }

            return(directoryProvider.GetDirectoriesToScan(mergedJobDataMap).ToList());
        }