Beispiel #1
0
        private Result <List <CoverageFile>, string> LoadCoverageFiles(
            CoverageMode mode,
            PathProcessor pathProcessor,
            string inputArgument,
            bool useRelativePaths)
        {
            var loader        = new CoverageLoader(_fileSystem);
            var coverageFiles = loader.LoadCoverageFiles(
                mode,
                pathProcessor,
                inputArgument,
                useRelativePaths);

            if (!coverageFiles.Successful)
            {
                switch (coverageFiles.Error)
                {
                case LoadCoverageFilesError.InputFileNotFound:
                    return($"Input file '{inputArgument}' cannot be found");

                case LoadCoverageFilesError.ModeNotSupported:
                    return($"Could not process mode {mode}");

                case LoadCoverageFilesError.UnknownFilesMissingError:
                    return($"Unknown Error Finding files processing mode {mode}");

                default:
                    throw new NotSupportedException($"Unknown value '{coverageFiles.Error}' returned from 'LoadCoverageFiles'.");
                }
            }

            return(coverageFiles.Value);
        }
Beispiel #2
0
        public Result <List <CoverageFile>, LoadCoverageFilesError> LoadCoverageFiles(
            CoverageMode mode,
            PathProcessor pathProcessor,
            string modeInput,
            bool useRelativePaths)
        {
            var loadResult = LoadCoverageData(mode, modeInput);

            if (loadResult.Successful)
            {
                List <FileCoverageData> coverageData = loadResult.Value;

                var files = BuildCoverageFiles(pathProcessor, useRelativePaths, coverageData);

                return(files);
            }
            else
            {
                return(loadResult.Error);
            }
        }
Beispiel #3
0
        private Result <List <FileCoverageData>, LoadCoverageFilesError> LoadCoverageData(CoverageMode mode, string modeInput)
        {
            Option <List <FileCoverageData> > result;

            switch (mode)
            {
            case CoverageMode.MonoCov:
                result = LoadData(modeInput, MonoCoverParser.GenerateSourceFiles);
                break;

            case CoverageMode.ReportGenerator:
                result = LoadData(modeInput, ReportGeneratorParser.GenerateSourceFiles);
                break;

            case CoverageMode.Chutzpah:
                result = LoadData(modeInput, ChutzpahJsonParser.GenerateSourceFiles);
                break;

            case CoverageMode.LCov:
                result = LoadData(modeInput, LcovParser.GenerateSourceFiles);
                break;

            case CoverageMode.NCover:
                result = LoadData(modeInput, NCoverParser.GenerateSourceFiles);
                break;

            case CoverageMode.OpenCover:
                result = LoadData(modeInput, OpenCoverParser.GenerateSourceFiles);
                break;

            case CoverageMode.DynamicCodeCoverage:
                result = LoadData(modeInput, DynamicCodeCoverageParser.GenerateSourceFiles);
                break;

            case CoverageMode.ExportCodeCoverage:
                result = LoadData(modeInput, ExportCodeCoverageParser.GenerateSourceFiles);
                break;

            default:
                return(LoadCoverageFilesError.ModeNotSupported);
            }

            if (!result.HasValue)
            {
                return(LoadCoverageFilesError.InputFileNotFound);
            }

            List <FileCoverageData> coverageData = (List <FileCoverageData>)result;

            if (coverageData == null)
            {
                return(LoadCoverageFilesError.UnknownFilesMissingError);
            }

            return(coverageData);
        }
Beispiel #4
0
 public CoverageSource(CoverageMode mode, string input)
 {
     Mode  = mode;
     Input = input;
 }