package net.codjo.broadcast.common; import java.sql.Connection; import java.sql.Date; import net.codjo.database.common.api.TransactionManager; import net.codjo.tokio.TokioTestCase; public abstract class SelectorTestCase extends TokioTestCase { public void assertProceed(Selector selector, final String tempTableName, String storyName) throws Exception { assertProceed(selector, tempTableName, storyName, new Context(), null); } public void assertProceed(final Selector selector, final String tempTableName, final String storyName, final Context context, final Date today) throws Exception { final Connection connection = tokioFixture.getConnection(); TransactionManager<Void> transactionManager = new TransactionManager<Void>(connection) { @Override public Void runSql(Connection connection) throws Exception { tokioFixture.insertInputInDb(storyName); selector.proceed(context, connection, tempTableName, today); tokioFixture.assertAllOutputs(storyName); return null; } }; transactionManager.run(connection); } }