using SQLInsight.Rules.Engine; namespace SQLInsight.Rules.Tests; public class RuleCatalogTests { [Fact] public void Every_rule_has_a_unique_well_formed_id() { var rules = BuiltInRules.Create(); Assert.Equal(rules.Count, rules.Select(r => r.Id).Distinct(StringComparer.OrdinalIgnoreCase).Count()); Assert.All(rules, r => Assert.Matches("^SQLI-[A-Z]+-[0-9]{3}$", r.Id)); Assert.All(rules, r => Assert.False(string.IsNullOrWhiteSpace(r.Title))); } /// Keeps the rule count in the README honest. [Fact] public void Rule_count() { Assert.Equal(64, BuiltInRules.Create().Count); } }