|
From: <mla...@us...> - 2003-04-13 05:14:46
|
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/database
In directory sc8-pr-cvs1:/tmp/cvs-serv5806/src/test/org/dbunit/database
Modified Files:
ForwardOnlyResultSetTableTest.java
Log Message:
Proactively close ForwardOnlyResultSet table when last row is reached.
Index: ForwardOnlyResultSetTableTest.java
===================================================================
RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/database/ForwardOnlyResultSetTableTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ForwardOnlyResultSetTableTest.java 13 Apr 2003 02:40:11 -0000 1.1
--- ForwardOnlyResultSetTableTest.java 13 Apr 2003 05:14:44 -0000 1.2
***************
*** 21,29 ****
package org.dbunit.database;
import org.dbunit.dataset.ForwardOnlyTableTest;
import org.dbunit.dataset.ITable;
! import org.dbunit.DatabaseEnvironment;
import org.dbunit.operation.DatabaseOperation;
/**
* @author Manuel Laflamme
--- 21,34 ----
package org.dbunit.database;
+ import org.dbunit.DatabaseEnvironment;
import org.dbunit.dataset.ForwardOnlyTableTest;
import org.dbunit.dataset.ITable;
! import org.dbunit.dataset.MockTableMetaData;
! import org.dbunit.dataset.RowOutOfBoundsException;
! import org.dbunit.dataset.Column;
import org.dbunit.operation.DatabaseOperation;
+ import com.mockobjects.sql.MockMultiRowResultSet;
+
/**
* @author Manuel Laflamme
***************
*** 53,55 ****
--- 58,110 ----
// Do not test this!
}
+
+ public void testGetValueOnLastRowIsClosingResultSet() throws Exception
+ {
+ String tableName = "TABLE";
+ String[] columnNames = {"C0"};
+ // String[] columnNames = {"C0", "C1", "C2"};
+ Object[][] expectedValues = new Object[][]{
+ new Object[]{"1", "2", "3"},
+ new Object[]{"4", "5", "6"},
+ new Object[]{"7", "8", "9"},
+ };
+
+ // Setup resultset
+ MockMultiRowResultSet resultSet = new MockMultiRowResultSet();
+ resultSet.setExpectedCloseCalls(1);
+ resultSet.setupColumnNames(columnNames);
+ resultSet.setupRows(expectedValues);
+
+ // Create table
+ MockTableMetaData metaData = new MockTableMetaData(tableName, columnNames);
+ ForwardOnlyResultSetTable table =
+ new ForwardOnlyResultSetTable(metaData, resultSet);
+
+ // Excercise getValue()
+ try
+ {
+ Column[] columns = table.getTableMetaData().getColumns();
+
+ for (int i = 0; ; i++)
+ {
+ for (int j = 0; j < columns.length; j++)
+ {
+ String columnName = columns[j].getColumnName();
+ Object actualValue = table.getValue(i, columnName);
+ Object expectedValue = expectedValues[i][j];
+ assertEquals("row=" + i + ", col=" + columnName,
+ expectedValue, actualValue);
+
+ }
+ }
+ }
+ catch(RowOutOfBoundsException e)
+ {
+ // end of table
+ }
+
+ // Verify that ResultSet have been closed
+ resultSet.verify();
+ }
+
}
|