public CoverageClass(CoverageFile file, XElement classElement) { File = file; Name = classElement.Attribute("name").Value; Methods = (from m in classElement.Descendants("method") where m.Attribute("excluded").Value == "false" select new CoverageMethod(this, m)).ToList(); UnvisitedPoints = Methods.Sum(m => m.UnvisitedPoints); }
public ComparedClass(CoverageFile parentFile, CoverageClass current, CoverageClass prev) { ParentFile = parentFile; _currentClass = current; _prevClass = prev; Name = current.Name; if (_prevClass != null) ComparedMethods = from m in current.Methods select new ComparedMethod(this, m, _prevClass[m.Name]); }
static void Main(string[] commandLineArgs) { var args = new ProgramArgs(commandLineArgs); if (!args.AreValid) { Console.WriteLine(args.Errors); return; } var currentCoverage = new CoverageFile(args.CurrentFile, new XmlTextReader(new FileStream(args.CurrentFile, FileMode.Open))); var prevCoverage = new CoverageFile(args.PrevFile, new XmlTextReader(new FileStream(args.PrevFile, FileMode.Open))); using(var htmlFileStream = new FileStream("coverdiff.html", FileMode.Create, FileAccess.Write, FileShare.Read)) { var comparer = new HtmlReportGenerator(htmlFileStream); comparer.Report(new CoverageComparer(currentCoverage, prevCoverage)); } }
public CoverageComparer(CoverageFile current, CoverageFile prev) { _current = current; _prev = prev; PrevPoints = prev.UnvisitedPoints; CurrentPoints = current.UnvisitedPoints; CoveredPoints = PrevPoints - CurrentPoints; ComparedClasses = from c in _current.Classes select new ComparedClass(current, c, _prev.Classes[c.Name]); // if (current.UnvisitedPoints < prev.UnvisitedPoints) // { // ReportLine(ConsoleColor.Green, "You have covered {0} more points ({1} local vs {2} prev)", prev.UnvisitedPoints - current.UnvisitedPoints, current.UnvisitedPoints, prev.UnvisitedPoints); // } // else if (current.UnvisitedPoints > prev.UnvisitedPoints) // { // ReportLine(ConsoleColor.Red, "You have uncovered {0} points ({1} local vs {2} prev)", current.UnvisitedPoints - prev.UnvisitedPoints, current.UnvisitedPoints, prev.UnvisitedPoints); // // CompareClasses(); // } }