예제 #1
0
        public DbObject ProcessObjectCoverage(DbObject dbObject)
        {
            var dbObjectClone = dbObject.Get();

             if (dbObjectClone.Code == null)
            return dbObjectClone;

             if (dbObjectClone.CoveredSegments.Count > 0)
             {
            var codeWithHighlights = _dbCodeFormatter.FormatCodeWithHighlights(dbObjectClone.Code,
                                                                               dbObjectClone.CoveredSegments);
            dbObjectClone.CoveredSegments = ProcessHighlightedCode(codeWithHighlights);

            var functionalHighlightedCode = _dataScrubber.Scrub(codeWithHighlights, "floc.scrub");
            var functionalSegments = ProcessHighlightedCode(functionalHighlightedCode);
            foreach (var functionalSegment in functionalSegments)
            {
               dbObjectClone.CoveredCharacters += functionalSegment.EndByte - functionalSegment.StartByte;
               dbObjectClone.CoveredLinesOfCode += functionalSegment.LinesOfCode;
            }
             }

             var functionalCode = _dataScrubber.Scrub(dbObjectClone.Code, "floc.scrub");

             dbObjectClone.TotalLoc = dbObjectClone.Code.Split('\n').Length;
             dbObjectClone.TotalCharacters = dbObjectClone.Code.Length;

             dbObjectClone.TotalFloc = functionalCode.Split('\n').Length;
             dbObjectClone.TotalFunctionalCharacters = functionalCode.Length;

             dbObjectClone.CoveredPercent = (decimal)dbObjectClone.CoveredCharacters / dbObjectClone.TotalFunctionalCharacters;

             return dbObjectClone;
        }
예제 #2
0
 public void Set(DbObject dbObject)
 {
     Code                      = dbObject.Code;
     CodeHighlighted           = dbObject.CodeHighlighted;
     CoveredSegments           = dbObject.CoveredSegments;
     CoveredCharacters         = dbObject.CoveredCharacters;
     CoveredLinesOfCode        = dbObject.CoveredLinesOfCode;
     CoveredPercent            = dbObject.CoveredPercent;
     TotalLoc                  = dbObject.TotalLoc;
     TotalFloc                 = dbObject.TotalFloc;
     TotalFunctionalCharacters = dbObject.TotalFunctionalCharacters;
     Name                      = dbObject.Name;
     TotalCharacters           = dbObject.TotalCharacters;
 }
예제 #3
0
파일: DbObject.cs 프로젝트: nickidw/sqlcc
 public void Set(DbObject dbObject)
 {
    Code = dbObject.Code;
    CodeHighlighted = dbObject.CodeHighlighted;
    CoveredSegments = dbObject.CoveredSegments;
    CoveredCharacters = dbObject.CoveredCharacters;
    CoveredLinesOfCode = dbObject.CoveredLinesOfCode;
    CoveredPercent = dbObject.CoveredPercent;
    TotalLoc = dbObject.TotalLoc;
    TotalFloc = dbObject.TotalFloc;
    TotalFunctionalCharacters = dbObject.TotalFunctionalCharacters;
    Name = dbObject.Name;
    TotalCharacters = dbObject.TotalCharacters;
 }