package org.fluentjdbc;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Map;
import java.util.regex.Pattern;

public class AbstractDatabaseTest {

    private final Map<String, String> replacements;

    public AbstractDatabaseTest(Map<String,String> replacements) {
        this.replacements = replacements;
    }

    protected String preprocessCreateTable(String createTableStatement) {
        return createTableStatement
                .replaceAll(Pattern.quote("${UUID}"), replacements.get("UUID"))
                .replaceAll(Pattern.quote("${INTEGER_PK}"), replacements.get("INTEGER_PK"))
                .replaceAll(Pattern.quote("${DATETIME}"), replacements.get("DATETIME"))
                .replaceAll(Pattern.quote("${BOOLEAN}"), replacements.get("BOOLEAN"))
                ;
    }

    protected void dropTableIfExists(Connection connection, String tableName) {
        try(Statement stmt = connection.createStatement()) {
            stmt.executeUpdate("drop table " + tableName);
        } catch(SQLException ignored) {
        }
    }

}

@@ -156,16 +156,48 @@
 Pattern;
+%0Aimport java.util.stream.Stream;
 %0A%0Apublic
@@ -869,32 +869,203 @@
        ;%0A    %7D%0A%0A
+    protected void dropTablesIfExists(Connection connection, String... tableNames) %7B%0A%0A        Stream.of(tableNames).forEach(t -%3E dropTableIfExists(connection, t));%0A    %7D%0A%0A
     protected vo

Fix test failure