All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.undefinedlabs.scope.coverage.CoverableSourceCodeAnalyzer Maven / Gradle / Ivy

package com.undefinedlabs.scope.coverage;

import com.undefinedlabs.scope.coverage.utils.CoverageAnalyzerUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

public enum CoverableSourceCodeAnalyzer {
  INSTANCE;

  public CoverageSourceCode getCoverableSourceCode(final String className) {
    final List allLines =
        CoverageAnalyzerUtils.INSTANCE.buildAllLinesPerClassName(className);

    final Integer firstLine = allLines.get(0);
    final Integer lastLine = allLines.get(allLines.size() - 1);

    final Map coverageLineMap = new HashMap<>();
    for (final Integer line : allLines) {
      coverageLineMap.put(line, new CoverageLine(CoverageLineStatus.NOT_COVERED, 0));
    }

    return new CoverageSourceCode(className, firstLine, lastLine, coverageLineMap);
  }

  public CoverableSourceCodeReport getCoverableSourceCodes(final Set classNames) {
    final List coverageSourceCodes = new ArrayList<>();
    for (final String className : classNames) {
      coverageSourceCodes.add(getCoverableSourceCode(className));
    }

    return new CoverableSourceCodeReport(coverageSourceCodes);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy