public void EventAddAccessorHasExpectedComplexity(string code, int expectedComplexity)
{
var tree = CSharpSyntaxTree.ParseText(code);
var compilation = CSharpCompilation.Create(
"x",
syntaxTrees: new[] { tree },
references: new[] { MetadataReference.CreateFromFile(typeof(object).Assembly.Location), MetadataReference.CreateFromFile(typeof(Task).Assembly.Location) },
options: new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary, usings: new[] { "System", "System.Threading.Tasks" }));
var model = compilation.GetSemanticModel(tree, true);
var syntaxNode = tree
.GetRoot()
.DescendantNodes()
.OfType<AccessorDeclarationSyntax>()
.First();
var result = _counter.Calculate(syntaxNode, model);
Assert.Equal(expectedComplexity, result);
}
}