Exemplo n.º 1
0
        private void AddMissingEntries(AnalysisOutput output, AnalyzerLanguage language)
        {
            var foundKeys = output.Issues.Select(i => i.RuleId).ToList();

            var notFoundKeys = RuleFinder.GetAnalyzerTypes(language)
                               .Select(t =>
                                       new
            {
                Type          = t,
                RuleAttribute = t.GetCustomAttribute <RuleAttribute>()
            })
                               .Select(rule =>
                                       RuleFinder.IsRuleTemplate(rule.Type)
                        ? string.Format(TemplateRuleIdPattern, rule.RuleAttribute.Key)
                        : rule.RuleAttribute.Key)
                               .Where(s => !foundKeys.Contains(s));

            foreach (var notFoundKey in notFoundKeys)
            {
                output.Issues.Add(new Issue
                {
                    RuleId = notFoundKey
                });
            }
        }
Exemplo n.º 2
0
        protected string GenerateAnalysisInputFile(AnalyzerLanguage language)
        {
            var analyzers = new StringBuilder();

            foreach (var analyzerType in RuleFinder.GetAnalyzerTypes(language))
            {
                analyzers.Append(GenerateAnalysisInputFileSegment(analyzerType));
            }
            return(GenerateAnalysisInputFile(analyzers.ToString(), GenerateFilesSegment(language)));
        }
Exemplo n.º 3
0
        private void CheckIntegrationTestCount(AnalyzerLanguage language)
        {
            ValidateLanguageInput(language);
            CreateMissingExpectedDirectory(language);

            Assert.AreEqual(
                RuleFinder.GetAnalyzerTypes(language).Count(),
                ExpectedDirectory
                .GetDirectories(language.GetDirectoryName()).First()
                .GetFiles("S*.json").Count());
        }