Esempio n. 1
0
 public MutationDocumentDetails(SyntaxNode orginal, SyntaxNode mutation, MutationLocationInfo location)
 {
     Orginal      = orginal;
     Mutation     = mutation;
     FullOrginal  = GetRoot(orginal);
     FullMutation = FullOrginal.ReplaceNode(Orginal, Mutation);
     Location     = location;
 }
Esempio n. 2
0
        protected bool IsExcludedFromCodeCoverage(MutationLocationInfo location, SyntaxNode syntaxNode)
        {
            var attributes = new List <string>();

            var methodDeclaration            = syntaxNode.FirstAncestorOrSelf <MethodDeclarationSyntax>();
            var constructorDeclarationSyntax = syntaxNode.FirstAncestorOrSelf <ConstructorDeclarationSyntax>();
            var propertyDeclaration          = syntaxNode.FirstAncestorOrSelf <PropertyDeclarationSyntax>();
            var classDeclaration             = syntaxNode.FirstAncestorOrSelf <ClassDeclarationSyntax>();

            attributes.AddRange(GetAttributeName(methodDeclaration?.AttributeLists));
            attributes.AddRange(GetAttributeName(constructorDeclarationSyntax?.AttributeLists));
            attributes.AddRange(GetAttributeName(propertyDeclaration?.AttributeLists));
            attributes.AddRange(GetAttributeName(classDeclaration?.AttributeLists));

            if (attributes.Any(a => a.Equals(ExcludeFromCoverageAttributeName, StringComparison.InvariantCultureIgnoreCase)))
            {
                Log.Info($"Ignoring mutation at {location} because of {ExcludeFromCoverageAttributeName} attribute");
                return(true);
            }

            return(false);
        }