From 1bd6deec83a417829fa923f06b3225ab59ce9799 Mon Sep 17 00:00:00 2001 From: Thom Lamb Date: Wed, 27 May 2026 15:05:19 -0500 Subject: [PATCH 1/3] =?UTF-8?q?chore(sonar):=20mechanical=20src/=20cleanup?= =?UTF-8?q?s=20=E2=80=94=20AsSpan,=20drop=20ContainsKey=20guard,=20simplif?= =?UTF-8?q?y=20GetQuery=20(CA1846,=20CA1853,=20S2219)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - `SqlParseException.cs:90` (CA1846): `sql.Substring(0, 197)` → `sql.AsSpan(0, 197)` in the truncated-SQL diagnostic message. Avoids an allocation in an already cold exception path. - `Snowflake/QueryBreakdown.cs:103` (CA1853): drop the redundant `Parameters.ContainsKey(...)` guard around `Parameters.Remove(...)`. `Dictionary.Remove` is a no-op if the key is absent, so the guard only doubled the work and computed the key string twice. - `LinqQueryBreakdown.cs:194` (S2219): collapse the now-stub `GetQuery()` (every branch returned `GetEmptyQueryable()` after the S1168 cleanup) to a single expression-bodied member. Updates the XML doc to describe the actual current behavior. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../Breakdowns/LinqQueryBreakdown.cs | 30 ++++--------------- .../Breakdowns/QueryBreakdown.cs | 5 +--- .../Exceptions/SqlParseException.cs | 2 +- 3 files changed, 7 insertions(+), 30 deletions(-) diff --git a/src/Strata.SqlTools.LinqToSql/Breakdowns/LinqQueryBreakdown.cs b/src/Strata.SqlTools.LinqToSql/Breakdowns/LinqQueryBreakdown.cs index 1f2d208..c96f31b 100644 --- a/src/Strata.SqlTools.LinqToSql/Breakdowns/LinqQueryBreakdown.cs +++ b/src/Strata.SqlTools.LinqToSql/Breakdowns/LinqQueryBreakdown.cs @@ -185,33 +185,13 @@ public class LinqQueryBreakdown : QueryBreakdown /// Gets a LINQ to SQL query of the specified type based on this breakdown. /// /// The entity type for the query. - /// An IQueryable of the specified type reconstructed from the breakdown; an empty queryable if the type doesn't match the original entity type or the original data source isn't available. + /// An empty queryable. Breakdown analysis is one-way; reconstruction requires the original provider, which is not preserved. /// - /// This method attempts to reconstruct a LINQ query from the analyzed components (WHERE, ORDER BY, etc.). - /// If a data source (IQueryable) is available in the breakdown's OriginalExpression, it will be used. - /// Otherwise, returns an empty queryable — breakdown analysis is one-way; reconstruction requires the original provider. + /// Always returns an empty queryable today. A future version may reconstruct the LINQ query from + /// when the provider is available; until then callers receive an + /// empty result rather than a null reference. /// - public override IQueryable GetQuery() where T : class - { - if (OriginalExpression == null) - { - return GetEmptyQueryable(); - } - - try - { - if (OriginalExpression is Expression && EntityType == typeof(T)) - { - return GetEmptyQueryable(); - } - - return GetEmptyQueryable(); - } - catch - { - return GetEmptyQueryable(); - } - } + public override IQueryable GetQuery() where T : class => GetEmptyQueryable(); /// /// Get and empty queryable of T diff --git a/src/Strata.SqlTools.Snowflake/Breakdowns/QueryBreakdown.cs b/src/Strata.SqlTools.Snowflake/Breakdowns/QueryBreakdown.cs index 773f3f7..fd5ba06 100644 --- a/src/Strata.SqlTools.Snowflake/Breakdowns/QueryBreakdown.cs +++ b/src/Strata.SqlTools.Snowflake/Breakdowns/QueryBreakdown.cs @@ -100,10 +100,7 @@ public class QueryBreakdown : SqlServerQueryBreakdown base.AddParameter(colonName.TrimStart(':', '@'), value); // Add both formats to dictionary for compatibility - if (Parameters.ContainsKey($"@{colonName.TrimStart(':', '@')}")) - { - Parameters.Remove($"@{colonName.TrimStart(':', '@')}"); - } + Parameters.Remove($"@{colonName.TrimStart(':', '@')}"); Parameters[colonName] = value; Parameters[atName] = value; } diff --git a/src/Strata.SqlTools.SqlServer/Exceptions/SqlParseException.cs b/src/Strata.SqlTools.SqlServer/Exceptions/SqlParseException.cs index ce55470..debd2e2 100644 --- a/src/Strata.SqlTools.SqlServer/Exceptions/SqlParseException.cs +++ b/src/Strata.SqlTools.SqlServer/Exceptions/SqlParseException.cs @@ -87,7 +87,7 @@ public class SqlParseException : Exception } else { - sb.AppendLine($"SQL (truncated): {sql.Substring(0, 197)}..."); + sb.AppendLine($"SQL (truncated): {sql.AsSpan(0, 197)}..."); } return sb.ToString(); From 54b9c7876f6c76dd71ccc571f85032a9deca7f3e Mon Sep 17 00:00:00 2001 From: Thom Lamb Date: Wed, 27 May 2026 15:06:36 -0500 Subject: [PATCH 2/3] chore(sonar): hoist constant arrays, discard TryParse, defang TODO markers (CA1861, CA1806, S1135) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - `SqlUtils.cs:43` and `StatementParser.cs:254,285` (CA1861 ×3): inline `new[] { ' ' }` and `new[] { ';' }` Split delimiters hoisted to `static readonly char[]` fields next to the existing `separator` field. Distinct names (`spaceSeparator`, `semicolonSeparator`) avoid collision. - `SqlUtils.Filters.cs:27` (CA1806): `double.TryParse(value, out var dblValue)` had its return value silently discarded — intentional (downstream switch branches use `dblValue` only when relevant and rely on the default `0.0` on failure). Now uses `_ =` to make the discard explicit and extends the comment. - `FilterCondition.cs:10` and `With.cs:10` (S1135 ×2): rewrite the `todo:` / `TODO:` markers as plain "Future:" notes. Both comments documented deliberate design choices ("inherit base for now", "could be indexed later") rather than tracked work, so the marker was misleading anyway. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/Strata.SqlTools.Query/FilterCondition.cs | 4 ++-- src/Strata.SqlTools.Rules/Rule/Groups/With.cs | 4 ++-- .../Utilities/SqlUtils.Filters.cs | 4 ++-- src/Strata.SqlTools.SqlBreakdown/Utilities/SqlUtils.cs | 3 ++- src/Strata.SqlTools.SqlServer/Statements/StatementParser.cs | 5 +++-- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/Strata.SqlTools.Query/FilterCondition.cs b/src/Strata.SqlTools.Query/FilterCondition.cs index a670099..406caee 100644 --- a/src/Strata.SqlTools.Query/FilterCondition.cs +++ b/src/Strata.SqlTools.Query/FilterCondition.cs @@ -6,8 +6,8 @@ public class FilterCondition public IEnumerable? Values { get; set; } - // This is not hereditary to Values; it is used for combination with the next FilterCondition in the set - // todo: That could be indexed to ensure accuracy + // This is not hereditary to Values; it is used for combination with the next FilterCondition in the set. + // Could be indexed in future to ensure accuracy if order-of-evaluation across siblings ever matters. public LogicalOperator LogicalOperator { get; set; } public bool IsValid() diff --git a/src/Strata.SqlTools.Rules/Rule/Groups/With.cs b/src/Strata.SqlTools.Rules/Rule/Groups/With.cs index a7899b3..0978a2c 100644 --- a/src/Strata.SqlTools.Rules/Rule/Groups/With.cs +++ b/src/Strata.SqlTools.Rules/Rule/Groups/With.cs @@ -7,8 +7,8 @@ namespace Strata.SqlTools.Rules.Rule.Groups; /// public class With : Base { - // TODO: revisit whether ordering should be applied here before delegating - // to the base GetExpressions(); inherit base behavior for now. + // Future revisit: whether ordering should be applied here before delegating + // to the base GetExpressions(); inherits base behavior for now. /// /// Merges two BoolExpr expressions using WITH semantics. diff --git a/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlUtils.Filters.cs b/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlUtils.Filters.cs index 235836b..3007748 100644 --- a/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlUtils.Filters.cs +++ b/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlUtils.Filters.cs @@ -23,8 +23,8 @@ public static partial class SqlUtils var filter = new SqlFilter(); string param = "@" + GuidUtils.TranslateGuid(Guid.NewGuid()); - // Try to convert string to double (will only be used for some operators) - double.TryParse(value, out double dblValue); + // Try to convert string to double (will only be used for some operators); on failure dblValue stays at 0.0 by design. + _ = double.TryParse(value, out double dblValue); // Optimize IN if only one value if (operation == FilterOperation.In && !value.Contains(',')) diff --git a/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlUtils.cs b/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlUtils.cs index ac3445b..db760db 100644 --- a/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlUtils.cs +++ b/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlUtils.cs @@ -24,6 +24,7 @@ public static partial class SqlUtils private const string DEFAULT_SCHEMA = "dbo"; private static readonly char[] separator = new[] { ',' }; + private static readonly char[] spaceSeparator = new[] { ' ' }; #region SQL String Manipulation @@ -40,7 +41,7 @@ public static partial class SqlUtils foreach (string commaWord in commaWords) { - string[] spaceWords = commaWord.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + string[] spaceWords = commaWord.Split(spaceSeparator, StringSplitOptions.RemoveEmptyEntries); var newSpaceWords = new List(); foreach (string spaceWord in spaceWords) diff --git a/src/Strata.SqlTools.SqlServer/Statements/StatementParser.cs b/src/Strata.SqlTools.SqlServer/Statements/StatementParser.cs index d918600..0d1551a 100644 --- a/src/Strata.SqlTools.SqlServer/Statements/StatementParser.cs +++ b/src/Strata.SqlTools.SqlServer/Statements/StatementParser.cs @@ -22,6 +22,7 @@ public class StatementParser public const string KeywordHaving = "HAVING"; public const string KeywordOrderBy = "ORDER BY"; private static readonly char[] separator = new[] { '\r', '\n' }; + private static readonly char[] semicolonSeparator = new[] { ';' }; #endregion @@ -251,7 +252,7 @@ public class StatementParser if (matchingKeyword != null) { // Extract setup clauses (simplified - would need more robust parsing for production) - var statements = beforeSelect.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries) + var statements = beforeSelect.Split(semicolonSeparator, StringSplitOptions.RemoveEmptyEntries) .Select(stmt => stmt.Trim()) .Where(trimmed => !string.IsNullOrEmpty(trimmed)); @@ -282,7 +283,7 @@ public class StatementParser if (match.Success) { var finishSql = sql.Substring(match.Index + 1).Trim(); - var statements = finishSql.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); + var statements = finishSql.Split(semicolonSeparator, StringSplitOptions.RemoveEmptyEntries); foreach (var stmt in statements) { var trimmed = stmt.Trim(); From 423108a7dc03c132cfba6e2c73a5fd777b39385a Mon Sep 17 00:00:00 2001 From: Thom Lamb Date: Wed, 27 May 2026 15:08:48 -0500 Subject: [PATCH 3/3] chore(sonar)!: mark Markdown generator classes as 'public static class' (S1118) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After the CA1822 cascade in #15 left every method on the eight Markdown generator classes static, the classes themselves were instantiable shells that consumers couldn't usefully `new`. This commit flips the `class` modifier to `static class` on all eight: - `Markdown.SqlServer.QueryBreakdownGenerator` - `Markdown.SqlServer.SqlStatementGenerator` - `Markdown.LinqToSql.QueryBreakdownGenerator` - `Markdown.LinqToSql.SqlStatementGenerator` - `Markdown.PostgreSql.QueryBreakdownGenerator` - `Markdown.PostgreSql.SqlStatementGenerator` - `Markdown.Snowflake.QueryBreakdownGenerator` - `Markdown.Snowflake.SqlStatementGenerator` Test fixtures drop the now-meaningless `_generator = new …()` field and `[SetUp]` (kept the existing Setup body where unrelated state was also initialized — `QueryMarkdownGenerationTests` and `LinqToSql.QueryBreakdownGeneratorTests`). BREAKING CHANGE: External NuGet consumers can no longer write `new Markdown.Snowflake.SqlStatementGenerator()` (or any of the other seven classes above) — the type is now a static container and may only be referenced by name, e.g. `Markdown.Snowflake.SqlStatementGenerator.GenerateSequenceDiagram(…)`. The call syntax for the static methods is unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../LinqToSql/QueryBreakdownGenerator.cs | 2 +- .../LinqToSql/SqlStatementGenerator.cs | 2 +- .../PostgreSql/QueryBreakdownGenerator.cs | 2 +- .../PostgreSql/SqlStatementGenerator.cs | 2 +- .../Snowflake/QueryBreakdownGenerator.cs | 2 +- .../Snowflake/SqlStatementGenerator.cs | 2 +- .../SqlServer/QueryBreakdownGenerator.cs | 2 +- .../SqlServer/SqlStatementGenerator.cs | 2 +- .../LinqToSql/QueryBreakdownGeneratorTests.cs | 2 -- .../LinqToSql/SqlStatementGeneratorTests.cs | 8 -------- .../PostgreSql/QueryBreakdownGeneratorTests.cs | 8 -------- .../PostgreSql/SqlStatementGeneratorTests.cs | 8 -------- .../Snowflake/QueryBreakdownGeneratorTests.cs | 8 -------- .../Snowflake/SqlStatementGeneratorTests.cs | 8 -------- .../SqlServer/QueryBreakdownGeneratorTests.cs | 8 -------- .../SqlServer/QueryMarkdownGenerationTests.cs | 3 --- .../SqlServer/SqlStatementGeneratorTests.cs | 8 -------- 17 files changed, 8 insertions(+), 69 deletions(-) diff --git a/src/Strata.SqlTools.Markdown/LinqToSql/QueryBreakdownGenerator.cs b/src/Strata.SqlTools.Markdown/LinqToSql/QueryBreakdownGenerator.cs index e00c19a..3a013b3 100644 --- a/src/Strata.SqlTools.Markdown/LinqToSql/QueryBreakdownGenerator.cs +++ b/src/Strata.SqlTools.Markdown/LinqToSql/QueryBreakdownGenerator.cs @@ -6,7 +6,7 @@ namespace Strata.SqlTools.Markdown.LinqToSql; /// Generates Mermaid diagram markdown from LINQ to SQL QueryBreakdown objects. /// Creates flowchart visualizations showing the LINQ query structure and flow. /// -public class QueryBreakdownGenerator +public static class QueryBreakdownGenerator { /// /// Generates a Mermaid flowchart diagram from a LINQ to SQL QueryBreakdown. diff --git a/src/Strata.SqlTools.Markdown/LinqToSql/SqlStatementGenerator.cs b/src/Strata.SqlTools.Markdown/LinqToSql/SqlStatementGenerator.cs index b3e8814..da7b166 100644 --- a/src/Strata.SqlTools.Markdown/LinqToSql/SqlStatementGenerator.cs +++ b/src/Strata.SqlTools.Markdown/LinqToSql/SqlStatementGenerator.cs @@ -8,7 +8,7 @@ namespace Strata.SqlTools.Markdown.LinqToSql; /// Generates Mermaid diagrams for LINQ to SQL statements, including sequence diagrams /// for statement execution flow and entity-relationship diagrams. /// -public class SqlStatementGenerator +public static class SqlStatementGenerator { /// /// Generates a Mermaid sequence diagram showing LINQ to SQL statement execution flow. diff --git a/src/Strata.SqlTools.Markdown/PostgreSql/QueryBreakdownGenerator.cs b/src/Strata.SqlTools.Markdown/PostgreSql/QueryBreakdownGenerator.cs index f467bb1..d9f5fd0 100644 --- a/src/Strata.SqlTools.Markdown/PostgreSql/QueryBreakdownGenerator.cs +++ b/src/Strata.SqlTools.Markdown/PostgreSql/QueryBreakdownGenerator.cs @@ -6,7 +6,7 @@ namespace Strata.SqlTools.Markdown.PostgreSql; /// Generates Mermaid diagram markdown from PostgreSQL SQL QueryBreakdown objects. /// Creates flowchart visualizations showing the query structure and flow. /// -public class QueryBreakdownGenerator +public static class QueryBreakdownGenerator { /// /// Generates a Mermaid flowchart diagram from a PostgreSQL QueryBreakdown. diff --git a/src/Strata.SqlTools.Markdown/PostgreSql/SqlStatementGenerator.cs b/src/Strata.SqlTools.Markdown/PostgreSql/SqlStatementGenerator.cs index dbcf677..34d61ec 100644 --- a/src/Strata.SqlTools.Markdown/PostgreSql/SqlStatementGenerator.cs +++ b/src/Strata.SqlTools.Markdown/PostgreSql/SqlStatementGenerator.cs @@ -6,7 +6,7 @@ namespace Strata.SqlTools.Markdown.PostgreSql; /// Generates Mermaid diagrams for PostgreSQL SQL statements, including sequence diagrams /// for statement execution flow and entity-relationship diagrams. /// -public class SqlStatementGenerator +public static class SqlStatementGenerator { /// /// Generates a Mermaid sequence diagram showing PostgreSQL SQL statement execution flow. diff --git a/src/Strata.SqlTools.Markdown/Snowflake/QueryBreakdownGenerator.cs b/src/Strata.SqlTools.Markdown/Snowflake/QueryBreakdownGenerator.cs index c6d197a..b2d5c2d 100644 --- a/src/Strata.SqlTools.Markdown/Snowflake/QueryBreakdownGenerator.cs +++ b/src/Strata.SqlTools.Markdown/Snowflake/QueryBreakdownGenerator.cs @@ -6,7 +6,7 @@ namespace Strata.SqlTools.Markdown.Snowflake; /// Generates Mermaid diagram markdown from Snowflake SQL QueryBreakdown objects. /// Creates flowchart visualizations showing the query structure and flow. /// -public class QueryBreakdownGenerator +public static class QueryBreakdownGenerator { /// /// Generates a Mermaid flowchart diagram from a Snowflake QueryBreakdown. diff --git a/src/Strata.SqlTools.Markdown/Snowflake/SqlStatementGenerator.cs b/src/Strata.SqlTools.Markdown/Snowflake/SqlStatementGenerator.cs index c5abdd6..16a40ad 100644 --- a/src/Strata.SqlTools.Markdown/Snowflake/SqlStatementGenerator.cs +++ b/src/Strata.SqlTools.Markdown/Snowflake/SqlStatementGenerator.cs @@ -6,7 +6,7 @@ namespace Strata.SqlTools.Markdown.Snowflake; /// Generates Mermaid diagrams for Snowflake SQL statements, including sequence diagrams /// for statement execution flow and entity-relationship diagrams. /// -public class SqlStatementGenerator +public static class SqlStatementGenerator { /// /// Generates a Mermaid sequence diagram showing Snowflake SQL statement execution flow. diff --git a/src/Strata.SqlTools.Markdown/SqlServer/QueryBreakdownGenerator.cs b/src/Strata.SqlTools.Markdown/SqlServer/QueryBreakdownGenerator.cs index a0f048d..051cc8a 100644 --- a/src/Strata.SqlTools.Markdown/SqlServer/QueryBreakdownGenerator.cs +++ b/src/Strata.SqlTools.Markdown/SqlServer/QueryBreakdownGenerator.cs @@ -8,7 +8,7 @@ namespace Strata.SqlTools.Markdown.SqlServer; /// Generates Mermaid diagram markdown from SQL QueryBreakdown objects. /// Creates flowchart visualizations showing the query structure and flow. /// -public class QueryBreakdownGenerator +public static class QueryBreakdownGenerator { /// /// Generates a Mermaid flowchart diagram from a QueryBreakdown. diff --git a/src/Strata.SqlTools.Markdown/SqlServer/SqlStatementGenerator.cs b/src/Strata.SqlTools.Markdown/SqlServer/SqlStatementGenerator.cs index 0905715..49bc4da 100644 --- a/src/Strata.SqlTools.Markdown/SqlServer/SqlStatementGenerator.cs +++ b/src/Strata.SqlTools.Markdown/SqlServer/SqlStatementGenerator.cs @@ -6,7 +6,7 @@ namespace Strata.SqlTools.Markdown.SqlServer; /// /// Generates Mermaid sequence diagrams from SQL statements to visualize statement execution flow. /// -public class SqlStatementGenerator +public static class SqlStatementGenerator { /// /// Generates a Mermaid sequence diagram showing SQL statement execution. diff --git a/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/QueryBreakdownGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/QueryBreakdownGeneratorTests.cs index 70d3ca4..5123912 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/QueryBreakdownGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/QueryBreakdownGeneratorTests.cs @@ -6,13 +6,11 @@ namespace Strata.SqlTools.Markdown.Tests.LinqToSql; [TestFixture] public class QueryBreakdownGeneratorTests { - private QueryBreakdownGenerator _generator = null!; private TestDataContext _context = null!; [SetUp] public void Setup() { - _generator = new QueryBreakdownGenerator(); _context = new TestDataContext(); } diff --git a/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/SqlStatementGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/SqlStatementGeneratorTests.cs index c043500..4627e6e 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/SqlStatementGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/LinqToSql/SqlStatementGeneratorTests.cs @@ -6,14 +6,6 @@ namespace Strata.SqlTools.Markdown.Tests.LinqToSql; [TestFixture] public class SqlStatementGeneratorTests { - private SqlStatementGenerator _generator = null!; - - [SetUp] - public void Setup() - { - _generator = new SqlStatementGenerator(); - } - [Test] public void GenerateLinqPipelineDiagram_BasicQuery_GeneratesSequenceDiagram() { diff --git a/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/QueryBreakdownGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/QueryBreakdownGeneratorTests.cs index 371e6fe..68aa80e 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/QueryBreakdownGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/QueryBreakdownGeneratorTests.cs @@ -6,14 +6,6 @@ namespace Strata.SqlTools.Markdown.Tests.PostgreSql; [TestFixture] public class QueryBreakdownGeneratorTests { - private QueryBreakdownGenerator _generator = null!; - - [SetUp] - public void Setup() - { - _generator = new QueryBreakdownGenerator(); - } - [Test] public void GenerateMermaidDiagram_SimplePostgreSqlQuery_GeneratesValidMermaid() { diff --git a/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/SqlStatementGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/SqlStatementGeneratorTests.cs index ee70a0a..e9b2fba 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/SqlStatementGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/PostgreSql/SqlStatementGeneratorTests.cs @@ -6,14 +6,6 @@ namespace Strata.SqlTools.Markdown.Tests.PostgreSql; [TestFixture] public class SqlStatementGeneratorTests { - private SqlStatementGenerator _generator = null!; - - [SetUp] - public void Setup() - { - _generator = new SqlStatementGenerator(); - } - [Test] public void GenerateSequenceDiagram_PostgreSqlQuery_GeneratesValidDiagram() { diff --git a/tests/Strata.SqlTools.Markdown.Tests/Snowflake/QueryBreakdownGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/Snowflake/QueryBreakdownGeneratorTests.cs index 189cd1c..e8db15c 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/Snowflake/QueryBreakdownGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/Snowflake/QueryBreakdownGeneratorTests.cs @@ -6,14 +6,6 @@ namespace Strata.SqlTools.Markdown.Tests.Snowflake; [TestFixture] public class QueryBreakdownGeneratorTests { - private QueryBreakdownGenerator _generator = null!; - - [SetUp] - public void Setup() - { - _generator = new QueryBreakdownGenerator(); - } - [Test] public void GenerateMermaidDiagram_SimpleSnowflakeQuery_GeneratesValidMermaid() { diff --git a/tests/Strata.SqlTools.Markdown.Tests/Snowflake/SqlStatementGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/Snowflake/SqlStatementGeneratorTests.cs index 9e4173a..cffe833 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/Snowflake/SqlStatementGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/Snowflake/SqlStatementGeneratorTests.cs @@ -6,14 +6,6 @@ namespace Strata.SqlTools.Markdown.Tests.Snowflake; [TestFixture] public class SqlStatementGeneratorTests { - private SqlStatementGenerator _generator = null!; - - [SetUp] - public void Setup() - { - _generator = new SqlStatementGenerator(); - } - [Test] public void GenerateSequenceDiagram_SnowflakeQuery_GeneratesValidDiagram() { diff --git a/tests/Strata.SqlTools.Markdown.Tests/SqlServer/QueryBreakdownGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/SqlServer/QueryBreakdownGeneratorTests.cs index b3d8e60..a887dda 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/SqlServer/QueryBreakdownGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/SqlServer/QueryBreakdownGeneratorTests.cs @@ -7,14 +7,6 @@ namespace Strata.SqlTools.Markdown.Tests.SqlServer; [TestFixture] public class QueryBreakdownGeneratorTests { - private QueryBreakdownGenerator _generator = null!; - - [SetUp] - public void Setup() - { - _generator = new QueryBreakdownGenerator(); - } - [Test] public void GenerateMermaidDiagram_WithSimpleQuery_GeneratesFlowchart() { diff --git a/tests/Strata.SqlTools.Markdown.Tests/SqlServer/QueryMarkdownGenerationTests.cs b/tests/Strata.SqlTools.Markdown.Tests/SqlServer/QueryMarkdownGenerationTests.cs index e01392d..7afa5c1 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/SqlServer/QueryMarkdownGenerationTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/SqlServer/QueryMarkdownGenerationTests.cs @@ -8,15 +8,12 @@ namespace Strata.SqlTools.Markdown.Tests.SqlServer; [Category("MarkdownGeneration")] public class QueryMarkdownGenerationTests { - private QueryBreakdownGenerator _generator = null!; private string _queriesSourcePath = null!; private string _markdownOutputPath = null!; [SetUp] public void Setup() { - _generator = new QueryBreakdownGenerator(); - // Get the solution root directory var testDirectory = TestContext.CurrentContext.TestDirectory; var solutionRoot = Directory.GetParent(testDirectory)?.Parent?.Parent?.Parent?.Parent?.FullName; diff --git a/tests/Strata.SqlTools.Markdown.Tests/SqlServer/SqlStatementGeneratorTests.cs b/tests/Strata.SqlTools.Markdown.Tests/SqlServer/SqlStatementGeneratorTests.cs index 570f43d..403a0b9 100644 --- a/tests/Strata.SqlTools.Markdown.Tests/SqlServer/SqlStatementGeneratorTests.cs +++ b/tests/Strata.SqlTools.Markdown.Tests/SqlServer/SqlStatementGeneratorTests.cs @@ -6,14 +6,6 @@ namespace Strata.SqlTools.Markdown.Tests.SqlServer; [TestFixture] public class SqlStatementGeneratorTests { - private SqlStatementGenerator _generator = null!; - - [SetUp] - public void Setup() - { - _generator = new SqlStatementGenerator(); - } - [Test] public void GenerateSequenceDiagram_WithSimpleQuery_GeneratesSequence() {