package com.tld.dao; import static com.tld.dao.DatabaseConnectionHandler.getConnection; import java.sql.SQLException; import java.util.ArrayList; import java.sql.Date; import java.util.List; import org.junit.Test; import com.mockrunner.jdbc.BasicJDBCTestCaseAdapter; import com.mockrunner.jdbc.PreparedStatementResultSetHandler; import com.mockrunner.mock.jdbc.MockResultSet; import com.tld.beans.Forecast; public class TestForecastDaoImpl extends BasicJDBCTestCaseAdapter { @Test public void testGetAllForecasts() throws SQLException { prepareRS(); ForecastDAO dao = new ForecastDaoImpl(getConnection()); List forecasts = dao.getAllForecasts(); assertTrue(!forecasts.isEmpty()); verifySQLStatementExecuted("SELECT * FROM forecast"); assertEquals(73, forecasts.get(1).getHigh()); } private void prepareRS() { PreparedStatementResultSetHandler statementHandler = getJDBCMockObjectFactory().getMockConnection() .getPreparedStatementResultSetHandler(); MockResultSet result = statementHandler.createResultSet(); List rowItems = new ArrayList(); result.addColumn("Date"); result.addColumn("High"); result.addColumn("Low"); result.addColumn("Condition"); result.addColumn("ID"); rowItems.add(new Date(0)); rowItems.add(72); rowItems.add(56); rowItems.add("Cloudy"); rowItems.add(1); result.addRow(rowItems); rowItems = new ArrayList(); rowItems.add(new Date(0)); rowItems.add(73); rowItems.add(52); rowItems.add("Sunny"); rowItems.add(2); result.addRow(rowItems); statementHandler.prepareGlobalResultSet(result); } }