public MetricResult Calculate(IEnumerable <AssemblyDefinition> assemblies, IMetric metric) { List <AssemblyResult> assemblyResults = new List <AssemblyResult>(); foreach (AssemblyDefinition assembly in assemblies) { List <ModuleResult> moduleResults = new List <ModuleResult>(); foreach (ModuleDefinition module in assembly.Modules) { List <TypeResult> typeResults = new List <TypeResult>(); foreach (TypeDefinition type in module.Types) { List <MethodResult> methodResults = new List <MethodResult>(); foreach (MethodDefinition method in type.Methods) { MethodResult methodResult = metric.ProcessMethod(method); methodResults.Add(methodResult); } TypeResult typeResult = metric.ProcessType(type, methodResults.ToArray()); typeResults.Add(typeResult); } ModuleResult moduleResult = metric.ProcessModule(module, typeResults.ToArray()); moduleResults.Add(moduleResult); } AssemblyResult assemblyResult = metric.ProcessAssembly(assembly, moduleResults.ToArray()); assemblyResults.Add(assemblyResult); } MetricResult result = metric.Process(assemblyResults.ToArray()); return(result); }
private string createFailedRows(MetricResult result) { string htmlOutput = string.Empty; foreach (var classResult in result.ClassResults) { bool addedClassHeader = false; string htmlClass = "<tr>"; htmlClass += "<td>" + HttpUtility.HtmlEncode(classResult.Name) + "</td>"; htmlClass += _emptyColumn + _emptyColumn + "</tr>"; foreach (var methodResult in classResult.MethodResults) { if (methodResult.Pass) continue; if (!addedClassHeader) { addedClassHeader = true; htmlOutput += htmlClass; } htmlOutput += addResult(methodResult); } } return htmlOutput; }
public MetricResult Process(AssemblyResult[] assemblyResults) { MetricResult result = new MetricResult("Cyclomatic complexity"); result.AssemblyResults = assemblyResults; result.Result = assemblyResults.Sum(r => r.Result); return result; }
public MetricResult Process(AssemblyResult[] assemblyResults) { MetricResult result = new MetricResult("Lines of code"); result.AssemblyResults = assemblyResults; result.Result = assemblyResults.Sum(r => r.Result); return result; }
public MetricResult Process(AssemblyResult[] assemblyResults) { MetricResult result = new MetricResult("Lines of code"); result.AssemblyResults = assemblyResults; result.Result = assemblyResults.Sum(r => r.Result); return(result); }
public MetricResult Process(AssemblyResult[] assemblyResults) { MetricResult result = new MetricResult("Cyclomatic complexity"); result.AssemblyResults = assemblyResults; result.Result = assemblyResults.Sum(r => r.Result); return(result); }
public MetricResultBuilder() { _methodResult1 = new MethodResult("Test Method1",12,false); _methodResult2 = new MethodResult("Test Method2",5,true); _classResult1 = new ClassResult("Test Class 1", new List<MethodResult> {_methodResult1,_methodResult2}); _classResult2 = new ClassResult("Test Class 1", new List<MethodResult> {_methodResult1,_methodResult2}); _metricResult = new MetricResult("Test Metric", new List<ClassResult> {_classResult1,_classResult2}); }
private List<FlatResult> flatten(MetricResult result) { var flatResults = new List<FlatResult>(); foreach (var classResult in result.ClassResults) { flatResults.AddRange(classResult.MethodResults.Select(methodResult => new FlatResult(string.Format("{0}.{1}", classResult.Name, methodResult.Name), methodResult.Result, methodResult.Pass))); } return flatResults; }
internal static XElement ConvertResult(MetricResult metricResult) { var metric = new XElement ("metric", new XAttribute("name", metricResult.Name)); foreach (var classResult in metricResult.ClassResults) { var convertedResults = ConvertResult (classResult); metric.Add (convertedResults); } return metric; }
protected override void inputResults(MetricResult result) { var flatResults = flatten(result); var topTen = (from f in flatResults orderby f.Result descending select f).Take(10); foreach (var tt in topTen) { Contents += "<tr>"; Contents += "<td>" + _emptyColumn + "</td>"; Contents += "<td>" + HttpUtility.HtmlEncode(tt.Name) + "</td>"; if (tt.Pass) Contents += @"<td id =""pass"">" + tt.Result + "</td>"; else Contents += @"<td id =""fail"">" + tt.Result + "</td>"; Contents += "</tr>"; } }
public void Generate(MetricResult result) { Generate(new[] {result}); }
private void createTableHeader(MetricResult result) { Contents += "<h2>" + result.Name + "</h2>"; Contents += @"<table border=""1""> <tr> <th>Class</th> <th>Method</th> <th>Result</th> </tr>"; }
protected virtual void inputResults(MetricResult result) { foreach(var classResult in result.ClassResults) { Contents += "<tr>"; Contents += "<td>" + HttpUtility.HtmlEncode(classResult.Name) + "</td>"; Contents += _emptyColumn + _emptyColumn + "</tr>"; foreach(var methodResult in classResult.MethodResults) { Contents += addResult(methodResult); } } }
protected void convertResultToHtml(MetricResult result) { createTableHeader(result); inputResults(result); createEndOfTable(); }
protected override void inputResults(MetricResult result) { Contents += createFailedRows(result); }
public void ConvertEmptyMetricResult() { var metricResult = new MetricResult ("Cyclomatic Complexity", new ClassResult[] { }); var actual = XmlReport.ConvertResult (metricResult); Assert.AreEqual (@"<metric name=""Cyclomatic Complexity"" />", actual.ToString ()); }