Пример #1
0
        public void CodeHasEffort(string code)
        {
            var metrics = new SyntaxMetricsCalculator().Calculate(code);

            var effort = metrics.Sum(m => m.GetEffort().TotalSeconds * 18);

            Assert.True(effort > 0);
        }
Пример #2
0
        public void CanGetHalsteadMetricsForMultipleArbitrarySnippets()
        {
            const string Code = @"var a = ""x""; return a;";
            var          root = CSharpSyntaxTree.ParseText(Code).GetRoot();

            var metrics = new SyntaxMetricsCalculator().Calculate(root);

            Assert.NotNull(metrics);
        }
Пример #3
0
        public void CanGetHalsteadMetricsForMethodSnippet()
        {
            const string Code = @"public string GetValue() { return ""x""; }";
            var          root = CSharpSyntaxTree.ParseText(Code).GetRoot();

            var metrics = new SyntaxMetricsCalculator().Calculate(root);

            Assert.NotNull(metrics);
        }
Пример #4
0
        public static void AnalyzeMethod(SymbolAnalysisContext context)
        {
            var namedTypeSymbol = (IMethodSymbol)context.Symbol;

            var syntax = context.Symbol.DeclaringSyntaxReferences.First().SyntaxTree.ToString(); //Careful, partial methods might burn you

            var calculator = new SyntaxMetricsCalculator();
            var result     = calculator.Calculate(syntax);
        }
Пример #5
0
        public void CanGetHalsteadMetricsForClassSnippet()
        {
            const string Code = @"public class Something {
public int Number { get{ return a - b; } }
public string GetValue() { return ""x"" + a; }
}";
            var          root = CSharpSyntaxTree.ParseText(Code).GetRoot();

            var metrics = new SyntaxMetricsCalculator().Calculate(root);

            Assert.NotNull(metrics);
        }