Exemplo n.º 1
0
        private void AssertGeneratedFileDesc(GeneratedFileDescription fileDesc, string fileName,
                                             string namespaceName, string className, string[] methodNames)
        {
            Assert.True(fileDesc.Name == fileName);

            SyntaxNode root = CSharpSyntaxTree.ParseText(fileDesc.Text).GetRoot();

            ClassDeclarationSyntax[] classes = root.DescendantNodes().OfType <ClassDeclarationSyntax>().ToArray();

            Assert.True(classes.Length == 1);

            ClassDeclarationSyntax clazz = classes[0];

            Assert.True(clazz.Identifier.ValueText == className);
            Assert.True((clazz.Parent as NamespaceDeclarationSyntax)?.Name?.ToString() == namespaceName);

            MethodDeclarationSyntax[] methods = clazz.DescendantNodes().OfType <MethodDeclarationSyntax>().ToArray();

            Assert.True(methods.Length == methodNames.Length);

            foreach (MethodDeclarationSyntax method in methods)
            {
                Assert.Contains(method.Identifier.ValueText, methodNames);

                Assert.True(method.AttributeLists.Count == 1);
                Assert.True(method.AttributeLists.First().Attributes.First().Name.ToString() == "Fact");
            }
        }
Exemplo n.º 2
0
 private static bool HasNoLiteralExpression(Microsoft.CodeAnalysis.SyntaxNode propertyDeclarationSyntax)
 {
     return(!propertyDeclarationSyntax.DescendantNodes().OfType <LiteralExpressionSyntax>().Any());
 }
Exemplo n.º 3
0
 private static bool HasAccessorDeclarationSyntaxAsDescendantNodes(Microsoft.CodeAnalysis.SyntaxNode propertyDeclarationSyntax)
 {
     return(propertyDeclarationSyntax.DescendantNodes().OfType <AccessorDeclarationSyntax>().Any());
 }