/// <summary>
        /// Checks if a provided configuration file contains a reference frequency
        /// </summary>
        /// <returns>
        /// An empty string if it is valid,
        /// an error message if invalid
        /// </returns>
        /// <param name="configFileContent">Content of a configuration file</param>
        public static string ContainsFrequency(string configFileContent)
        {
            Regex frequencyConfigRx = new Regex(@"RUNTIME-REFERENCE-FREQUENCY,\d+");
            bool  isValid           = FileParser.ContainsRegex(configFileContent, frequencyConfigRx);

            return(isValid ? "" : ConfigErrors["Frequency"]);
        }
        /// <summary>
        /// Checks if a provided configuration file contains a section with limits
        /// </summary>
        /// <returns>
        /// An empty string if it is valid,
        /// an error message if invalid
        /// </returns>
        /// <param name="configFileContent">Content of a configuration file</param>
        public static string ContainsLimitSection(string configFileContent)
        {
            Regex limitSectionRx = new Regex($@"LIMITS-TASKS,\d+,\d+({FileParser.NewLineRx})\s*LIMITS-PROCESSORS,\d+,\d+({FileParser.NewLineRx})\s*LIMITS-PROCESSOR-FREQUENCIES,\d+(?:\.\d+)?,\d+(?:\.\d+)?");
            bool  isValid        = FileParser.ContainsRegex(configFileContent, limitSectionRx);

            return(isValid ? "" : ConfigErrors["LimitSection"]);
        }
        /// <summary>
        /// Checks if a provided configuration file contains a section with a parallel section
        /// </summary>
        /// <returns>
        /// An empty string if it is valid,
        /// an error message if invalid
        /// </returns>
        /// <param name="configFileContent">Content of a configuration file</param>
        public static string ContainsParallelSection(string configFileContent)
        {
            Regex parallelSectionRx = new Regex($@"PROGRAM-MAXIMUM-DURATION,\d+({FileParser.NewLineRx})\s*PROGRAM-TASKS,\d+({FileParser.NewLineRx})\s*PROGRAM-PROCESSORS,\d+");
            bool  isValid           = FileParser.ContainsRegex(configFileContent, parallelSectionRx);

            return(isValid ? "" : ConfigErrors["ParallelSection"]);
        }
        /// <summary>
        /// Checks if a provided configuration file contains a path of a log file
        /// </summary>
        /// <returns>
        /// An empty string if it is valid,
        /// an error message if invalid
        /// </returns>
        /// <param name="configFileContent">Content of a configuration file</param>
        public static string ContainsLogFilePath(string configFileContent)
        {
            Regex logFileRx = new Regex(@"DEFAULT-LOGFILE,"".*\.txt""");
            bool  isValid   = FileParser.ContainsRegex(configFileContent, logFileRx);

            return(isValid ? "" : ConfigErrors["LogFilePath"]);
        }