public void ShouldDetermineCyclomicComplexityForFooFourth() { var method = _assemblySearcher.FindMethod("Fourth"); var cyclomicComplextityCalculator = new ILCyclomicComplextityCalculator(_MaxCC); var cc = cyclomicComplextityCalculator.Calculate(method); Assert.That(cc.Result, Is.InRange(5, 10)); //actual 5 }
public void ShouldDetermineCyclomicComplexityForFooSecond() { var method = _assemblySearcher.FindMethod("Second"); var cyclomicComplextityCalculator = new ILCyclomicComplextityCalculator(_MaxCC); var cc = cyclomicComplextityCalculator.Calculate(method); Assert.That(cc.Result, Is.EqualTo(3)); }
public void ShouldCalculateCCForAllMethodsInCollection() { var cyclomicCalculator = new ILCyclomicComplextityCalculator(_MaxCC); var types = _assemblySearcher.GetAllTypes(); var results = cyclomicCalculator.Calculate(types); var numberOfClasses = results.ClassResults.Count; var numberOfMethods = results.ClassResults[0].MethodResults.Count; Assert.That(numberOfClasses, Is.EqualTo(2)); Assert.That(numberOfMethods, Is.EqualTo(6)); }
public DrivenMetrics Create(string[] assemblyNames, string reportFilePath) { var assemblies = new List <AssemblyDefinition>(); foreach (var assemblyName in assemblyNames) { var assemblyLoader = new AssemblyLoader(assemblyName); var assembly = assemblyLoader.Load(); assemblies.Add(assembly); } var methodFinder = new AssemblySearcher(assemblies.ToArray()); //var htmlReport = new HtmlReport(new FileWriter(), reportFilePath); var htmlReport = new HtmlFailedReport(new FileWriter(), reportFilePath); var numberOfLines = new NumberOfLinesCalculator(20); var cyclomicCompexity = new ILCyclomicComplextityCalculator(20); var drivenMetric = new DrivenMetrics(methodFinder, htmlReport, new IMetricCalculator[] { numberOfLines, cyclomicCompexity }); return(drivenMetric); }