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 ShouldDetermineCyclomicComplexityForFooThird()
        {
            var method = _assemblySearcher.FindMethod("Third");

            var cyclomicComplextityCalculator = new ILCyclomicComplextityCalculator(_MaxCC);
            var cc = cyclomicComplextityCalculator.Calculate(method);

            Assert.That(cc.Result, Is.InRange(3, 7)); // actual 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));
        }
Пример #4
0
            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;
            }