From 6175dcde96ba17047c9e918a5e8e72135abc289f Mon Sep 17 00:00:00 2001 From: Thom Lamb Date: Wed, 27 May 2026 14:38:58 -0500 Subject: [PATCH] chore(sonar)!: cascade CA1822 through Markdown dialect wrappers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit 5202d93 made the SqlServer-namespaced Markdown generator methods static, which left the LinqToSql / PostgreSql / Snowflake wrapper classes' instance methods delegating to nothing but a static call. SonarQube re-flagged those 10 wrapper methods as CA1822 on the next scan. This sweep: - Makes all 10 wrapper instance methods `static` (`dotnet format` driven). - Makes `Markdown.LinqToSql.QueryBreakdownGenerator.GenerateCombinedDiagram` static preemptively — it composes two static helpers and would otherwise be the next-iteration cascade flag. - Removes the now-dead `_baseGenerator` field and its initializing constructor from all six dialect wrappers (LinqToSql / PostgreSql / Snowflake × QueryBreakdownGenerator + SqlStatementGenerator). The classes keep their implicit parameterless constructor so `new Snowflake.QueryBreakdownGenerator()` still compiles. - Updates the one test call site (`GenerateCombinedDiagram`) the fixer didn't catch to use type-name form. BREAKING CHANGE: External NuGet consumers calling `instance.Generate*Diagram(...)` on `Markdown.LinqToSql.*`, `Markdown.PostgreSql.*`, or `Markdown.Snowflake.*` generators must switch to type-name form, e.g. `Markdown.Snowflake.SqlStatementGenerator.GenerateSequenceDiagram(...)`. The class types and parameterless constructors remain — only the call syntax for these methods changes. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../LinqToSql/QueryBreakdownGenerator.cs | 14 ++-------- .../LinqToSql/SqlStatementGenerator.cs | 14 ++-------- .../PostgreSql/QueryBreakdownGenerator.cs | 12 +------- .../PostgreSql/SqlStatementGenerator.cs | 14 ++-------- .../Snowflake/QueryBreakdownGenerator.cs | 12 +------- .../Snowflake/SqlStatementGenerator.cs | 14 ++-------- .../SqlServer/QueryBreakdownGenerator.cs | 2 +- .../LinqToSql/QueryBreakdownGeneratorTests.cs | 8 +++--- .../LinqToSql/SqlStatementGeneratorTests.cs | 4 +-- .../QueryBreakdownGeneratorTests.cs | 28 +++++++++---------- .../PostgreSql/SqlStatementGeneratorTests.cs | 18 ++++++------ .../Snowflake/QueryBreakdownGeneratorTests.cs | 22 +++++++-------- .../Snowflake/SqlStatementGeneratorTests.cs | 14 +++++----- .../SqlServer/QueryBreakdownGeneratorTests.cs | 2 +- 14 files changed, 59 insertions(+), 119 deletions(-) diff --git a/src/Strata.SqlTools.Markdown/LinqToSql/QueryBreakdownGenerator.cs b/src/Strata.SqlTools.Markdown/LinqToSql/QueryBreakdownGenerator.cs index 3281319..e00c19a 100644 --- a/src/Strata.SqlTools.Markdown/LinqToSql/QueryBreakdownGenerator.cs +++ b/src/Strata.SqlTools.Markdown/LinqToSql/QueryBreakdownGenerator.cs @@ -8,23 +8,13 @@ namespace Strata.SqlTools.Markdown.LinqToSql; /// public class QueryBreakdownGenerator { - private readonly SqlServer.QueryBreakdownGenerator _baseGenerator; - - /// - /// Initializes a new instance of the QueryBreakdownGenerator class. - /// - public QueryBreakdownGenerator() - { - _baseGenerator = new SqlServer.QueryBreakdownGenerator(); - } - /// /// Generates a Mermaid flowchart diagram from a LINQ to SQL QueryBreakdown. /// /// The LINQ QueryBreakdown to visualize. /// Optional title for the diagram. /// A string containing the Mermaid markdown diagram. - public string GenerateMermaidDiagram(LinqQueryBreakdown queryBreakdown, string? title = null) + public static string GenerateMermaidDiagram(LinqQueryBreakdown queryBreakdown, string? title = null) { // Since LinqQueryBreakdown inherits from SqlServer.QueryBreakdown, // we can use the base generator which works with the shared properties @@ -85,7 +75,7 @@ public class QueryBreakdownGenerator /// The LINQ QueryBreakdown to visualize. /// Optional title for the diagram. /// A string containing both diagrams. - public string GenerateCombinedDiagram(LinqQueryBreakdown queryBreakdown, string? title = null) + public static string GenerateCombinedDiagram(LinqQueryBreakdown queryBreakdown, string? title = null) { var sb = new System.Text.StringBuilder(); diff --git a/src/Strata.SqlTools.Markdown/LinqToSql/SqlStatementGenerator.cs b/src/Strata.SqlTools.Markdown/LinqToSql/SqlStatementGenerator.cs index 2d76349..b3e8814 100644 --- a/src/Strata.SqlTools.Markdown/LinqToSql/SqlStatementGenerator.cs +++ b/src/Strata.SqlTools.Markdown/LinqToSql/SqlStatementGenerator.cs @@ -10,23 +10,13 @@ namespace Strata.SqlTools.Markdown.LinqToSql; /// public class SqlStatementGenerator { - private readonly SqlServer.SqlStatementGenerator _baseGenerator; - - /// - /// Initializes a new instance of the SqlStatementGenerator class. - /// - public SqlStatementGenerator() - { - _baseGenerator = new SqlServer.SqlStatementGenerator(); - } - /// /// Generates a Mermaid sequence diagram showing LINQ to SQL statement execution flow. /// /// The LINQ to SQL breakdown object. /// Optional title for the diagram. /// A string containing the Mermaid sequence diagram markdown. - public string GenerateSequenceDiagram(ISqlBreakdown sqlBreakdown, string? title = null) + public static string GenerateSequenceDiagram(ISqlBreakdown sqlBreakdown, string? title = null) { return SqlServer.SqlStatementGenerator.GenerateSequenceDiagram(sqlBreakdown, title); } @@ -37,7 +27,7 @@ public class SqlStatementGenerator /// The SQL breakdown containing query information. /// Optional title for the diagram. /// A string containing the Mermaid ER diagram markdown. - public string GenerateEntityRelationshipDiagram(ISqlBreakdown sqlBreakdown, string? title = null) + public static string GenerateEntityRelationshipDiagram(ISqlBreakdown sqlBreakdown, string? title = null) { //Extract table names from breakdown - just use FROM clause for now var queryBreakdown = sqlBreakdown as IQueryBreakdown; diff --git a/src/Strata.SqlTools.Markdown/PostgreSql/QueryBreakdownGenerator.cs b/src/Strata.SqlTools.Markdown/PostgreSql/QueryBreakdownGenerator.cs index e92bf27..f467bb1 100644 --- a/src/Strata.SqlTools.Markdown/PostgreSql/QueryBreakdownGenerator.cs +++ b/src/Strata.SqlTools.Markdown/PostgreSql/QueryBreakdownGenerator.cs @@ -8,23 +8,13 @@ namespace Strata.SqlTools.Markdown.PostgreSql; /// public class QueryBreakdownGenerator { - private readonly SqlServer.QueryBreakdownGenerator _baseGenerator; - - /// - /// Initializes a new instance of the QueryBreakdownGenerator class. - /// - public QueryBreakdownGenerator() - { - _baseGenerator = new SqlServer.QueryBreakdownGenerator(); - } - /// /// Generates a Mermaid flowchart diagram from a PostgreSQL QueryBreakdown. /// /// The PostgreSQL QueryBreakdown to visualize. /// Optional title for the diagram. /// A string containing the Mermaid markdown diagram. - public string GenerateMermaidDiagram(QueryBreakdown queryBreakdown, string? title = null) + public static string GenerateMermaidDiagram(QueryBreakdown queryBreakdown, string? title = null) { // Since PostgreSql.QueryBreakdown inherits from SqlServer.QueryBreakdown, // we can use the base generator which works with the shared properties diff --git a/src/Strata.SqlTools.Markdown/PostgreSql/SqlStatementGenerator.cs b/src/Strata.SqlTools.Markdown/PostgreSql/SqlStatementGenerator.cs index c17bd25..dbcf677 100644 --- a/src/Strata.SqlTools.Markdown/PostgreSql/SqlStatementGenerator.cs +++ b/src/Strata.SqlTools.Markdown/PostgreSql/SqlStatementGenerator.cs @@ -8,23 +8,13 @@ namespace Strata.SqlTools.Markdown.PostgreSql; /// public class SqlStatementGenerator { - private readonly SqlServer.SqlStatementGenerator _baseGenerator; - - /// - /// Initializes a new instance of the SqlStatementGenerator class. - /// - public SqlStatementGenerator() - { - _baseGenerator = new SqlServer.SqlStatementGenerator(); - } - /// /// Generates a Mermaid sequence diagram showing PostgreSQL SQL statement execution flow. /// /// The PostgreSQL SQL breakdown object. /// Optional title for the diagram. /// A string containing the Mermaid sequence diagram markdown. - public string GenerateSequenceDiagram(SqlBreakdownBase sqlBreakdown, string? title = null) + public static string GenerateSequenceDiagram(SqlBreakdownBase sqlBreakdown, string? title = null) { return SqlServer.SqlStatementGenerator.GenerateSequenceDiagram(sqlBreakdown, title); } @@ -35,7 +25,7 @@ public class SqlStatementGenerator /// Collection of table names to include in the diagram. /// Optional title for the diagram. /// A string containing the Mermaid ER diagram markdown. - public string GenerateEntityRelationshipDiagram(IEnumerable tables, string? title = null) + public static string GenerateEntityRelationshipDiagram(IEnumerable tables, string? title = null) { return SqlServer.SqlStatementGenerator.GenerateEntityRelationshipDiagram(tables, title); } diff --git a/src/Strata.SqlTools.Markdown/Snowflake/QueryBreakdownGenerator.cs b/src/Strata.SqlTools.Markdown/Snowflake/QueryBreakdownGenerator.cs index b01cbe8..c6d197a 100644 --- a/src/Strata.SqlTools.Markdown/Snowflake/QueryBreakdownGenerator.cs +++ b/src/Strata.SqlTools.Markdown/Snowflake/QueryBreakdownGenerator.cs @@ -8,23 +8,13 @@ namespace Strata.SqlTools.Markdown.Snowflake; /// public class QueryBreakdownGenerator { - private readonly SqlServer.QueryBreakdownGenerator _baseGenerator; - - /// - /// Initializes a new instance of the QueryBreakdownGenerator class. - /// - public QueryBreakdownGenerator() - { - _baseGenerator = new SqlServer.QueryBreakdownGenerator(); - } - /// /// Generates a Mermaid flowchart diagram from a Snowflake QueryBreakdown. /// /// The Snowflake QueryBreakdown to visualize. /// Optional title for the diagram. /// A string containing the Mermaid markdown diagram. - public string GenerateMermaidDiagram(QueryBreakdown queryBreakdown, string? title = null) + public static string GenerateMermaidDiagram(QueryBreakdown queryBreakdown, string? title = null) { // Since Snowflake.QueryBreakdown inherits from SqlServer.QueryBreakdown, // we can use the base generator which works with the shared properties diff --git a/src/Strata.SqlTools.Markdown/Snowflake/SqlStatementGenerator.cs b/src/Strata.SqlTools.Markdown/Snowflake/SqlStatementGenerator.cs index c246b35..c5abdd6 100644 --- a/src/Strata.SqlTools.Markdown/Snowflake/SqlStatementGenerator.cs +++ b/src/Strata.SqlTools.Markdown/Snowflake/SqlStatementGenerator.cs @@ -8,23 +8,13 @@ namespace Strata.SqlTools.Markdown.Snowflake; /// public class SqlStatementGenerator { - private readonly SqlServer.SqlStatementGenerator _baseGenerator; - - /// - /// Initializes a new instance of the SqlStatementGenerator class. - /// - public SqlStatementGenerator() - { - _baseGenerator = new SqlServer.SqlStatementGenerator(); - } - /// /// Generates a Mermaid sequence diagram showing Snowflake SQL statement execution flow. /// /// The Snowflake SQL breakdown object. /// Optional title for the diagram. /// A string containing the Mermaid sequence diagram markdown. - public string GenerateSequenceDiagram(SqlBreakdownBase sqlBreakdown, string? title = null) + public static string GenerateSequenceDiagram(SqlBreakdownBase sqlBreakdown, string? title = null) { return SqlServer.SqlStatementGenerator.GenerateSequenceDiagram(sqlBreakdown, title); } @@ -35,7 +25,7 @@ public class SqlStatementGenerator /// Collection of table names to include in the diagram. /// Optional title for the diagram. /// A string containing the Mermaid ER diagram markdown. - public string GenerateEntityRelationshipDiagram(IEnumerable tables, string? title = null) + public static string GenerateEntityRelationshipDiagram(IEnumerable tables, string? title = null) { return SqlServer.SqlStatementGenerator.GenerateEntityRelationshipDiagram(tables, title); } diff --git a/src/Strata.SqlTools.Markdown/SqlServer/QueryBreakdownGenerator.cs b/src/Strata.SqlTools.Markdown/SqlServer/QueryBreakdownGenerator.cs index 1a02e09..a0f048d 100644 --- a/src/Strata.SqlTools.Markdown/SqlServer/QueryBreakdownGenerator.cs +++ b/src/Strata.SqlTools.Markdown/SqlServer/QueryBreakdownGenerator.cs @@ -127,7 +127,7 @@ public class QueryBreakdownGenerator /// The SQL breakdown to visualize. /// Optional title for the diagram. /// A string containing the Mermaid markdown diagram. - public string GenerateMermaidDiagram(ISqlBreakdown sqlBreakdown, string? title = null) + public static string GenerateMermaidDiagram(ISqlBreakdown sqlBreakdown, string? title = null) { // If it's a QueryBreakdown, use the specialized method if (sqlBreakdown is QueryBreakdown qb) diff --git a/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/QueryBreakdownGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/QueryBreakdownGeneratorTests.cs index d10d930..70d3ca4 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/QueryBreakdownGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/QueryBreakdownGeneratorTests.cs @@ -24,7 +24,7 @@ public class QueryBreakdownGeneratorTests var breakdown = LinqQueryBreakdown.Analyze(query); // Act - var result = _generator.GenerateMermaidDiagram(breakdown, "Simple User Query"); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(breakdown, "Simple User Query"); // Assert Assert.That(result, Does.Contain("```mermaid")); @@ -81,7 +81,7 @@ public class QueryBreakdownGeneratorTests var breakdown = LinqQueryBreakdown.Analyze(query); // Act - var result = _generator.GenerateCombinedDiagram(breakdown, "User Query Analysis"); + var result = QueryBreakdownGenerator.GenerateCombinedDiagram(breakdown, "User Query Analysis"); // Assert Assert.That(result, Does.Contain("## User Query Analysis")); @@ -99,7 +99,7 @@ public class QueryBreakdownGeneratorTests var breakdown = LinqQueryBreakdown.Analyze(query); // Act - var result = _generator.GenerateMermaidDiagram(breakdown); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(breakdown); // Assert Assert.That(result, Does.Contain("SELECT")); @@ -114,7 +114,7 @@ public class QueryBreakdownGeneratorTests var breakdown = LinqQueryBreakdown.Analyze(query); // Act - var result = _generator.GenerateMermaidDiagram(breakdown, null); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(breakdown, null); // Assert Assert.That(result, Does.Not.Contain("###")); diff --git a/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/SqlStatementGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/SqlStatementGeneratorTests.cs index 5dafdfd..c043500 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/SqlStatementGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/SqlStatementGeneratorTests.cs @@ -87,7 +87,7 @@ public class SqlStatementGeneratorTests var query = new LinqQueryBreakdown("*", "Users"); // Act - var result = _generator.GenerateSequenceDiagram(query, "Sequence Test"); + var result = SqlStatementGenerator.GenerateSequenceDiagram(query, "Sequence Test"); // Assert Assert.That(result, Does.Contain("```mermaid")); @@ -102,7 +102,7 @@ public class SqlStatementGeneratorTests var query = new LinqQueryBreakdown("Id, Name", "Users"); // Act - var result = _generator.GenerateEntityRelationshipDiagram(query, "ER Test"); + var result = SqlStatementGenerator.GenerateEntityRelationshipDiagram(query, "ER Test"); // Assert Assert.That(result, Does.Contain("```mermaid")); diff --git a/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/QueryBreakdownGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/QueryBreakdownGeneratorTests.cs index 5a52ad2..371e6fe 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/QueryBreakdownGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/QueryBreakdownGeneratorTests.cs @@ -21,7 +21,7 @@ public class QueryBreakdownGeneratorTests var query = new QueryBreakdown("user_id, user_name", "users"); // Act - var result = _generator.GenerateMermaidDiagram(query, "Simple User Query"); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, "Simple User Query"); // Assert Assert.That(result, Does.Contain("```mermaid")); @@ -44,7 +44,7 @@ public class QueryBreakdownGeneratorTests "); // Act - var result = _generator.GenerateMermaidDiagram(query); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query); // Assert Assert.That(result, Does.Contain("WHERE")); @@ -64,7 +64,7 @@ public class QueryBreakdownGeneratorTests "); // Act - var result = _generator.GenerateMermaidDiagram(query); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query); // Assert Assert.That(result, Does.Contain("WHERE")); @@ -89,7 +89,7 @@ public class QueryBreakdownGeneratorTests "); // Act - var result = _generator.GenerateMermaidDiagram(query, "Users with Orders"); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, "Users with Orders"); // Assert Assert.That(result, Does.Contain("### Users with Orders")); @@ -110,7 +110,7 @@ public class QueryBreakdownGeneratorTests "); // Act - var result = _generator.GenerateMermaidDiagram(query, "Recent Users"); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, "Recent Users"); // Assert Assert.That(result, Does.Contain("SELECT")); @@ -131,7 +131,7 @@ public class QueryBreakdownGeneratorTests "); // Act - var result = _generator.GenerateMermaidDiagram(query); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query); // Assert Assert.That(result, Does.Contain("SELECT")); @@ -150,7 +150,7 @@ public class QueryBreakdownGeneratorTests "); // Act - var result = _generator.GenerateMermaidDiagram(query); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query); // Assert Assert.That(result, Does.Contain("SELECT")); @@ -185,7 +185,7 @@ public class QueryBreakdownGeneratorTests "); // Act - var result = _generator.GenerateMermaidDiagram(query, "Regional Sales Analysis"); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, "Regional Sales Analysis"); // Assert Assert.That(result, Does.Contain("### Regional Sales Analysis")); @@ -209,7 +209,7 @@ public class QueryBreakdownGeneratorTests "); // Act - var result = _generator.GenerateMermaidDiagram(query); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query); // Assert Assert.That(result, Does.Contain("GROUP BY")); @@ -223,7 +223,7 @@ public class QueryBreakdownGeneratorTests var query = new QueryBreakdown("id", "orders"); // Act - var result = _generator.GenerateMermaidDiagram(query, null); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, null); // Assert Assert.That(result, Does.Not.Contain("###")); @@ -238,7 +238,7 @@ public class QueryBreakdownGeneratorTests var query = new QueryBreakdown("order_id", "orders"); // Act - var result = _generator.GenerateMermaidDiagram(query, ""); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, ""); // Assert Assert.That(result, Does.Not.Contain("###")); @@ -258,7 +258,7 @@ public class QueryBreakdownGeneratorTests "); // Act - var result = _generator.GenerateMermaidDiagram(query, "Type Cast Example"); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, "Type Cast Example"); // Assert Assert.That(result, Does.Contain("SELECT")); @@ -279,7 +279,7 @@ public class QueryBreakdownGeneratorTests "); // Act - var result = _generator.GenerateMermaidDiagram(query, "JSON Data"); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, "JSON Data"); // Assert Assert.That(result, Does.Contain("SELECT")); @@ -298,7 +298,7 @@ public class QueryBreakdownGeneratorTests "); // Act - var result = _generator.GenerateMermaidDiagram(query); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query); // Assert Assert.That(result, Does.Contain("SELECT")); diff --git a/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/SqlStatementGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/SqlStatementGeneratorTests.cs index 19cba8c..ee70a0a 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/SqlStatementGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/SqlStatementGeneratorTests.cs @@ -25,7 +25,7 @@ public class SqlStatementGeneratorTests "); // Act - var result = _generator.GenerateSequenceDiagram(query, "User Query Flow"); + var result = SqlStatementGenerator.GenerateSequenceDiagram(query, "User Query Flow"); // Assert Assert.That(result, Does.Contain("```mermaid")); @@ -51,7 +51,7 @@ public class SqlStatementGeneratorTests "); // Act - var result = _generator.GenerateSequenceDiagram(query); + var result = SqlStatementGenerator.GenerateSequenceDiagram(query); // Assert Assert.That(result, Does.Contain("Execute Main Statement")); @@ -73,7 +73,7 @@ public class SqlStatementGeneratorTests "); // Act - var result = _generator.GenerateSequenceDiagram(query, "Sales Analysis"); + var result = SqlStatementGenerator.GenerateSequenceDiagram(query, "Sales Analysis"); // Assert Assert.That(result, Does.Contain("### Sales Analysis")); @@ -90,7 +90,7 @@ public class SqlStatementGeneratorTests var tables = new[] { "customers", "orders", "order_items", "products" }; // Act - var result = _generator.GenerateEntityRelationshipDiagram(tables, "E-Commerce Schema"); + var result = SqlStatementGenerator.GenerateEntityRelationshipDiagram(tables, "E-Commerce Schema"); // Assert Assert.That(result, Does.Contain("```mermaid")); @@ -109,7 +109,7 @@ public class SqlStatementGeneratorTests var tables = new[] { "\"Customers\"", "\"Orders\"", "\"OrderItems\"" }; // Act - var result = _generator.GenerateEntityRelationshipDiagram(tables); + var result = SqlStatementGenerator.GenerateEntityRelationshipDiagram(tables); // Assert Assert.That(result, Does.Contain("erDiagram")); @@ -123,7 +123,7 @@ public class SqlStatementGeneratorTests var tables = new[] { "public.users", "sales.orders", "inventory.products" }; // Act - var result = _generator.GenerateEntityRelationshipDiagram(tables); + var result = SqlStatementGenerator.GenerateEntityRelationshipDiagram(tables); // Assert Assert.That(result, Does.Contain("erDiagram")); @@ -137,7 +137,7 @@ public class SqlStatementGeneratorTests var tables = new[] { "users" }; // Act - var result = _generator.GenerateEntityRelationshipDiagram(tables); + var result = SqlStatementGenerator.GenerateEntityRelationshipDiagram(tables); // Assert Assert.That(result, Does.Contain("erDiagram")); @@ -151,7 +151,7 @@ public class SqlStatementGeneratorTests var query = new QueryBreakdown("order_id", "orders"); // Act - var result = _generator.GenerateSequenceDiagram(query, null); + var result = SqlStatementGenerator.GenerateSequenceDiagram(query, null); // Assert Assert.That(result, Does.Not.Contain("###")); @@ -170,7 +170,7 @@ public class SqlStatementGeneratorTests "); // Act - var result = _generator.GenerateSequenceDiagram(query); + var result = SqlStatementGenerator.GenerateSequenceDiagram(query); // Assert Assert.That(result, Does.Contain("sequenceDiagram")); diff --git a/tests/Strata.SqlTools.Markdown.Tests/Snowflake/QueryBreakdownGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/Snowflake/QueryBreakdownGeneratorTests.cs index 69bb44c..189cd1c 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/Snowflake/QueryBreakdownGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/Snowflake/QueryBreakdownGeneratorTests.cs @@ -21,7 +21,7 @@ public class QueryBreakdownGeneratorTests var query = new QueryBreakdown("USER_ID, USER_NAME", "USERS"); // Act - var result = _generator.GenerateMermaidDiagram(query, "Simple User Query"); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, "Simple User Query"); // Assert Assert.That(result, Does.Contain("```mermaid")); @@ -44,7 +44,7 @@ public class QueryBreakdownGeneratorTests ", isMicrosoftSql: false); // Act - var result = _generator.GenerateMermaidDiagram(query); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query); // Assert Assert.That(result, Does.Contain("WHERE")); @@ -69,7 +69,7 @@ public class QueryBreakdownGeneratorTests ", isMicrosoftSql: false); // Act - var result = _generator.GenerateMermaidDiagram(query, "Users with Orders"); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, "Users with Orders"); // Assert Assert.That(result, Does.Contain("WITH Clause")); @@ -92,7 +92,7 @@ public class QueryBreakdownGeneratorTests ", isMicrosoftSql: false); // Act - var result = _generator.GenerateMermaidDiagram(query, "Latest Orders per Customer"); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, "Latest Orders per Customer"); // Assert Assert.That(result, Does.Contain("SELECT")); @@ -111,7 +111,7 @@ public class QueryBreakdownGeneratorTests ", isMicrosoftSql: false); // Act - var result = _generator.GenerateMermaidDiagram(query); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query); // Assert Assert.That(result, Does.Contain("SELECT")); @@ -146,7 +146,7 @@ public class QueryBreakdownGeneratorTests ", isMicrosoftSql: false); // Act - var result = _generator.GenerateMermaidDiagram(query, "Regional Sales Analysis"); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, "Regional Sales Analysis"); // Assert Assert.That(result, Does.Contain("### Regional Sales Analysis")); @@ -171,7 +171,7 @@ public class QueryBreakdownGeneratorTests ", isMicrosoftSql: false); // Act - var result = _generator.GenerateMermaidDiagram(query); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query); // Assert Assert.That(result, Does.Contain("GROUP BY")); @@ -185,7 +185,7 @@ public class QueryBreakdownGeneratorTests var query = new QueryBreakdown("ID", "ORDERS"); // Act - var result = _generator.GenerateMermaidDiagram(query, null); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, null); // Assert Assert.That(result, Does.Not.Contain("###")); @@ -200,7 +200,7 @@ public class QueryBreakdownGeneratorTests var query = new QueryBreakdown("ORDER_ID", "ORDERS"); // Act - var result = _generator.GenerateMermaidDiagram(query, ""); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, ""); // Assert Assert.That(result, Does.Not.Contain("###")); @@ -220,7 +220,7 @@ public class QueryBreakdownGeneratorTests ", isMicrosoftSql: false); // Act - var result = _generator.GenerateMermaidDiagram(query, "Type Cast Example"); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, "Type Cast Example"); // Assert Assert.That(result, Does.Contain("SELECT")); @@ -241,7 +241,7 @@ public class QueryBreakdownGeneratorTests ", isMicrosoftSql: false); // Act - var result = _generator.GenerateMermaidDiagram(query, "JSON Data"); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram(query, "JSON Data"); // Assert Assert.That(result, Does.Contain("SELECT")); diff --git a/tests/Strata.SqlTools.Markdown.Tests/Snowflake/SqlStatementGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/Snowflake/SqlStatementGeneratorTests.cs index 9b7ac68..9e4173a 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/Snowflake/SqlStatementGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/Snowflake/SqlStatementGeneratorTests.cs @@ -25,7 +25,7 @@ public class SqlStatementGeneratorTests ", isMicrosoftSql: false); // Act - var result = _generator.GenerateSequenceDiagram(query, "User Query Flow"); + var result = SqlStatementGenerator.GenerateSequenceDiagram(query, "User Query Flow"); // Assert Assert.That(result, Does.Contain("```mermaid")); @@ -51,7 +51,7 @@ public class SqlStatementGeneratorTests ", isMicrosoftSql: false); // Act - var result = _generator.GenerateSequenceDiagram(query); + var result = SqlStatementGenerator.GenerateSequenceDiagram(query); // Assert Assert.That(result, Does.Contain("Execute Main Statement")); @@ -73,7 +73,7 @@ public class SqlStatementGeneratorTests ", isMicrosoftSql: false); // Act - var result = _generator.GenerateSequenceDiagram(query, "Sales Analysis"); + var result = SqlStatementGenerator.GenerateSequenceDiagram(query, "Sales Analysis"); // Assert Assert.That(result, Does.Contain("### Sales Analysis")); @@ -90,7 +90,7 @@ public class SqlStatementGeneratorTests var tables = new[] { "CUSTOMERS", "ORDERS", "ORDER_ITEMS", "PRODUCTS" }; // Act - var result = _generator.GenerateEntityRelationshipDiagram(tables, "E-Commerce Schema"); + var result = SqlStatementGenerator.GenerateEntityRelationshipDiagram(tables, "E-Commerce Schema"); // Assert Assert.That(result, Does.Contain("```mermaid")); @@ -109,7 +109,7 @@ public class SqlStatementGeneratorTests var tables = new[] { "\"customers\"", "\"orders\"", "\"orderItems\"" }; // Act - var result = _generator.GenerateEntityRelationshipDiagram(tables); + var result = SqlStatementGenerator.GenerateEntityRelationshipDiagram(tables); // Assert Assert.That(result, Does.Contain("erDiagram")); @@ -123,7 +123,7 @@ public class SqlStatementGeneratorTests var tables = new[] { "USERS" }; // Act - var result = _generator.GenerateEntityRelationshipDiagram(tables); + var result = SqlStatementGenerator.GenerateEntityRelationshipDiagram(tables); // Assert Assert.That(result, Does.Contain("erDiagram")); @@ -137,7 +137,7 @@ public class SqlStatementGeneratorTests var query = new QueryBreakdown("ORDER_ID", "ORDERS"); // Act - var result = _generator.GenerateSequenceDiagram(query, null); + var result = SqlStatementGenerator.GenerateSequenceDiagram(query, null); // Assert Assert.That(result, Does.Not.Contain("###")); diff --git a/tests/Strata.SqlTools.Markdown.Tests/SqlServer/QueryBreakdownGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/SqlServer/QueryBreakdownGeneratorTests.cs index d92bcce..b3d8e60 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/SqlServer/QueryBreakdownGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/SqlServer/QueryBreakdownGeneratorTests.cs @@ -144,7 +144,7 @@ public class QueryBreakdownGeneratorTests query.SetupClauses.Add("CREATE TEMP TABLE #Temp (ID INT)"); // Act - var result = _generator.GenerateMermaidDiagram((Interfaces.ISqlBreakdown)query); + var result = QueryBreakdownGenerator.GenerateMermaidDiagram((Interfaces.ISqlBreakdown)query); // Assert Assert.That(result, Does.Contain("mermaid"));