Ejemplo n.º 1
0
        bool ValidatesReflectionAccessPatterns(TypeDefinition testCaseTypeDefinition)
        {
            if (testCaseTypeDefinition.HasNestedTypes)
            {
                var nestedTypes = new Queue <TypeDefinition> (testCaseTypeDefinition.NestedTypes.ToList());
                while (nestedTypes.Count > 0)
                {
                    if (ValidatesReflectionAccessPatterns(nestedTypes.Dequeue()))
                    {
                        return(true);
                    }
                }
            }

            if (testCaseTypeDefinition.CustomAttributes.Any(attr =>
                                                            attr.AttributeType.Name == nameof(VerifyAllReflectionAccessPatternsAreValidatedAttribute)) ||
                testCaseTypeDefinition.AllMembers().Concat(testCaseTypeDefinition.AllDefinedTypes()).Any(m => m.CustomAttributes.Any(attr =>
                                                                                                                                     attr.AttributeType.Name == nameof(RecognizedReflectionAccessPatternAttribute) ||
                                                                                                                                     attr.AttributeType.Name == nameof(UnrecognizedReflectionAccessPatternAttribute))))
            {
                return(true);
            }

            return(false);
        }
Ejemplo n.º 2
0
        bool ValidatesLogMessages(TypeDefinition testCaseTypeDefinition)
        {
            if (testCaseTypeDefinition.HasNestedTypes)
            {
                var nestedTypes = new Queue <TypeDefinition> (testCaseTypeDefinition.NestedTypes.ToList());
                while (nestedTypes.Count > 0)
                {
                    if (ValidatesLogMessages(nestedTypes.Dequeue()))
                    {
                        return(true);
                    }
                }
            }

            if (testCaseTypeDefinition.AllMembers().Concat(testCaseTypeDefinition.AllDefinedTypes()).Append(testCaseTypeDefinition)
                .Any(m => m.CustomAttributes.Any(attr =>
                                                 attr.AttributeType.Name == nameof(LogContainsAttribute) ||
                                                 attr.AttributeType.Name == nameof(LogDoesNotContainAttribute))))
            {
                return(true);
            }

            return(false);
        }