chore: initial git load of code space

This commit is contained in:
Thom Lamb
2026-05-12 08:52:33 -05:00
parent 9abada692f
commit 5e467bcc9c
384 changed files with 65960 additions and 2 deletions
@@ -0,0 +1,112 @@
using Strata.SqlTools.Markdown.LinqToSql;
using Strata.SqlTools.Breakdowns.LinqToSql;
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()
{
// Arrange
var query = new LinqQueryBreakdown("*", "Users");
// Act
var result = _generator.GenerateLinqPipelineDiagram(query, "User Query Pipeline");
// Assert
Assert.That(result, Does.Contain("```mermaid"));
Assert.That(result, Does.Contain("sequenceDiagram"));
Assert.That(result, Does.Contain("### User Query Pipeline"));
Assert.That(result, Does.Contain("LINQ Provider"));
Assert.That(result, Does.Contain("Expression Tree"));
Assert.That(result, Does.Contain("SQL Generator"));
Assert.That(result, Does.Contain("Database"));
Assert.That(result, Does.Contain("```"));
}
[Test]
public void GenerateLinqPipelineDiagram_WithWhere_ShowsPredicateProcessing()
{
// Arrange
var query = new LinqQueryBreakdown("Id, Name", "Users");
query.AddWhereClause("Age > 21");
// Act
var result = _generator.GenerateLinqPipelineDiagram(query);
// Assert
Assert.That(result, Does.Contain("Where Predicate"));
Assert.That(result, Does.Contain("Expression Tree"));
Assert.That(result, Does.Contain("SQL Generator"));
}
[Test]
public void GenerateLinqPipelineDiagram_WithProjection_ShowsSelectProcessing()
{
// Arrange
var query = new LinqQueryBreakdown("Id, Name, Email", "Users");
// Act
var result = _generator.GenerateLinqPipelineDiagram(query);
// Assert
Assert.That(result, Does.Contain("Select Projection"));
Assert.That(result, Does.Contain("LINQ Provider"));
Assert.That(result, Does.Contain("Database"));
}
[Test]
public void GenerateLinqPipelineDiagram_NullTitle_GeneratesWithoutTitle()
{
// Arrange
var query = new LinqQueryBreakdown("*", "Users");
// Act
var result = _generator.GenerateLinqPipelineDiagram(query, null);
// Assert
Assert.That(result, Does.Not.Contain("###"));
Assert.That(result, Does.Contain("```mermaid"));
Assert.That(result, Does.Contain("sequenceDiagram"));
}
[Test]
public void GenerateSequenceDiagram_DelegatesToBaseClass()
{
// Arrange
var query = new LinqQueryBreakdown("*", "Users");
// Act
var result = _generator.GenerateSequenceDiagram(query, "Sequence Test");
// Assert
Assert.That(result, Does.Contain("```mermaid"));
Assert.That(result, Does.Contain("sequenceDiagram"));
Assert.That(result, Does.Contain("### Sequence Test"));
}
[Test]
public void GenerateEntityRelationshipDiagram_DelegatesToBaseClass()
{
// Arrange
var query = new LinqQueryBreakdown("Id, Name", "Users");
// Act
var result = _generator.GenerateEntityRelationshipDiagram(query, "ER Test");
// Assert
Assert.That(result, Does.Contain("```mermaid"));
Assert.That(result, Does.Contain("erDiagram"));
Assert.That(result, Does.Contain("### ER Test"));
}
}