using Strata.SqlTools.SqlBreakdown.Classes;
using Strata.SqlTools.SqlBreakdown.Expressions;
namespace Strata.SqlTools.SqlBreakdown.Tests.RegisteredTables;
///
/// Helper utilities for retrieving registered table column expressions.
/// Provides mock implementations for testing purposes.
///
public static class RegisteredTableColumns
{
///
/// Gets a registered table column expression for the specified data column ID.
/// Currently returns mock column definitions for testing purposes.
///
/// The data column identifier (1=DEPARTMENT_ID, 2=NAME, 3=REVENUE, 4=DISCHARGE_DATE).
/// A registered table column expression for the specified column ID.
/// This is a mock implementation and should be replaced with actual column lookup logic.
public static RegisteredTableColumnExpression GetColumn(int dataColumnId)
{
var tableSource = new RegisteredTableSource(1001, "FW", "DEPARTMENT", "DEPT");
return dataColumnId switch
{
1 => new RegisteredTableColumnExpression(dataColumnId, "DEPARTMENT_ID", tableSource),
2 => new RegisteredTableColumnExpression(dataColumnId, "NAME", tableSource),
3 => new RegisteredTableColumnExpression(dataColumnId, "REVENUE", tableSource),
4 => new RegisteredTableColumnExpression(dataColumnId, "DISCHARGE_DATE", tableSource),
_ => new RegisteredTableColumnExpression(dataColumnId, "FOOBAR", tableSource)
};
}
}