using Strata.SqlTools.SqlBreakdown.Expressions;
using Strata.SqlTools.Visitors.Snowflake;
namespace Strata.SqlTools.SqlBreakdown.Tests.ExpressionTests;
///
/// Represents a test case for expression tests with arrange, act, and assert phases.
///
public class ExpressionTestCase
{
///
/// Gets or initializes the name of the test case.
///
public string Name { get; init; } = string.Empty;
///
/// Gets or initializes the dictionary of expressions to arrange for the test.
///
public Dictionary Arrange { get; init; } = new();
///
/// Gets or initializes the action to execute during the act phase of the test.
///
public Func, CommandVisitor, object> Act { get; init; } = null!;
///
/// Gets or initializes the function to execute during the assert phase of the test that returns true if all assertions pass.
///
public Func