/// <summary> /// Initializes the current coverage data /// </summary> private void InitCurrent() { CoverageState[] currentFile = new CoverageState[0]; ProfileVector currentProf = new Data.ProfileVector(0); // Check report exists if (CoverageEnvironment.ShowCodeCoverage && CoverageEnvironment.report != null) { string activeFilename = System.IO.Path.GetFullPath(GetActiveFilename()); if (activeFilename != null) { CoverageEnvironment.print("Coverage: Print report on " + activeFilename); Tuple <BitVector, ProfileVector> activeReport = null; DateTime activeFileLastWrite = File.GetLastWriteTimeUtc(activeFilename); if (CoverageEnvironment.report.FileDate >= activeFileLastWrite) { CoverageEnvironment.print("Coverage: Report is up to date"); activeReport = CoverageEnvironment.report.GetData(activeFilename); if (activeReport != null) { CoverageEnvironment.print("Coverage: File is inside report"); currentProf = activeReport.Item2; currentFile = new CoverageState[activeReport.Item1.Count]; foreach (var item in activeReport.Item1.Enumerate()) { if (item.Value) { currentFile[item.Key] = CoverageState.Covered; } else { currentFile[item.Key] = CoverageState.Uncovered; } } } else { CoverageEnvironment.print("Coverage: File " + activeFilename + " is not inside report"); } } else { CoverageEnvironment.print("Coverage: Report is too old compare to file."); } } } this.currentCoverage = currentFile; this.currentProfile = currentProf; }
/// <summary> /// Initializes the current coverage data /// </summary> private void InitCurrent() { CoverageState[] currentFile = new CoverageState[0]; ProfileVector currentProf = new Data.ProfileVector(0); if (Settings.Instance.ShowCodeCoverage) { string activeFilename = GetActiveFilename(); if (activeFilename != null) { Tuple <BitVector, ProfileVector> activeReport = null; DateTime activeFileLastWrite = File.GetLastWriteTimeUtc(activeFilename); var dataProvider = Data.ReportManagerSingleton.Instance(dte); if (dataProvider != null) { var coverageData = dataProvider.UpdateData(); if (coverageData != null && activeFilename != null) { if (coverageData.FileDate >= activeFileLastWrite) { activeReport = coverageData.GetData(activeFilename); } } } if (activeReport != null) { currentProf = activeReport.Item2; currentFile = new CoverageState[activeReport.Item1.Count]; foreach (var item in activeReport.Item1.Enumerate()) { if (item.Value) { currentFile[item.Key] = CoverageState.Covered; } else { currentFile[item.Key] = CoverageState.Uncovered; } } } } } this.currentCoverage = currentFile; this.currentProfile = currentProf; }