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,40 @@
using Strata.SqlTools.SqlBreakdown.Classes;
using Strata.SqlTools.SqlBreakdown.Expressions;
using Strata.SqlTools.SqlBreakdown.Expressions.Functions.Aggregate;
namespace Strata.SqlTools.SqlBreakdown.Tests.ExpressionTests;
[TestFixture]
public class SelectClauseColumnTests : ExpressionTestsBase
{
private static IEnumerable<TestCaseData> SelectClauseColumnTestCases()
{
yield return new TestCaseData("TableColumn", "foo_dept_name", "PES.DEPARTMENT_NAME AS foo_dept_name")
.SetName("TableColumn_{m}");
yield return new TestCaseData("SumFunction", "sum_net_rev", "SUM(PES.NET_REVENUE) AS sum_net_rev")
.SetName("WithSumFunction_{m}");
yield return new TestCaseData("Parameter", "my_var_col", ":FOOBAR AS my_var_col")
.SetName("WithParameter_{m}");
}
[TestCaseSource(nameof(SelectClauseColumnTestCases))]
public void SelectClauseColumn_GeneratesCorrectSql(string columnType, string alias, string expectedSql)
{
// Arrange
SelectClauseColumn column = columnType switch
{
"TableColumn" => SelectClauseColumn.TableColumn(_nameColumnExp, alias),
"SumFunction" => new SelectClauseColumn(new SumFunction(_revenueColumnExp), alias),
"Parameter" => new SelectClauseColumn(new ParameterExpression("FOOBAR"), alias),
_ => throw new ArgumentException($"Unknown column type: {columnType}")
};
// Act
var result = column.Accept(_sqlVisitor);
// Assert
Assert.That(result, Is.EqualTo(expectedSql));
}
}