public void Build_Throws_When_SelectCommand_Is_Empty()
    {
        // Arrange
        var input = new InsertSelectCommandBuilder().Into("MyTable").WithFieldNames("Field1", "Field2", "Field3");

        // Act & Assert
        input.Invoking(x => x.Build())
             .Should().Throw<InvalidOperationException>()
             .WithMessage("FROM clause is missing");
    }
    public void Build_Throws_When_TableName_Is_Missing()
    {
        // Arrange
        var input = new InsertSelectCommandBuilder();

        // Act & Assert
        input.Invoking(x => x.Build())
             .Should().Throw<InvalidOperationException>()
             .WithMessage("table name is missing");
    }
    public void Build_Throws_When_FieldNames_Are_Empty()
    {
        // Arrange
        var input = new InsertSelectCommandBuilder().Into("MyTable");

        // Act & Assert
        input.Invoking(x => x.Build())
             .Should().Throw<InvalidOperationException>()
             .WithMessage("field names are missing");
    }