From: Jeff M. <cus...@us...> - 2003-04-23 11:53:39
|
Update of /cvsroot/mockobjects/mockobjects-java/src/jdk/common/com/mockobjects/sql In directory sc8-pr-cvs1:/tmp/cvs-serv29790/src/jdk/common/com/mockobjects/sql Modified Files: CommonMockPreparedStatement.java CommonMockStatement.java MockResultSet.java Log Message: Allow multiple return values from executeQuery Index: CommonMockPreparedStatement.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/jdk/common/com/mockobjects/sql/CommonMockPreparedStatement.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- CommonMockPreparedStatement.java 9 Dec 2002 18:20:12 -0000 1.3 +++ CommonMockPreparedStatement.java 23 Apr 2003 11:52:46 -0000 1.4 @@ -78,8 +78,6 @@ abstract class CommonMockPreparedStatement extends CommonMockStatement implements PreparedStatement { -// -------------------------------------------------------------------- fields - private ExpectationSet mySetParameters = new ExpectationSet("CommonMockPreparedStatement.setParameters"); @@ -89,8 +87,12 @@ private ExpectationSet myTargetSQLTypes = new ExpectationSet("CommonMockPreparedStatement.targetSQLTypes"); + private final ReturnObjectList myResultSets = new ReturnObjectList("result sets"); + private final ReturnObjectList executeUpdates = new ReturnObjectList("update count"); -// -------------------------------------------------------------- addExpected* + public void addResultSet(MockResultSet aResultSet) { + myResultSets.addObjectToReturn(aResultSet); + } public void addExpectedSetParameter(int parameterIndex, int intValue) { addExpectedSetParameter(parameterIndex, new Integer(intValue)); @@ -140,14 +142,26 @@ * Returns executeQuery(String) with an empty String. */ public ResultSet executeQuery() throws SQLException { - return executeQuery(""); + innerExecute(); + return (ResultSet)myResultSets.nextReturnObject(); } /** - * Returns executeUpdate(String) with an empty String. + * Added value to be returned by executeUpdate() + * @param count + * @see #executeUpdate + */ + public void addUpdateCount(int count){ + this.executeUpdates.addObjectToReturn(count); + } + + /** + * Returns value set with addUpdateCount + * @see #addUpdateCount */ public int executeUpdate() throws SQLException { - return executeUpdate(""); + innerExecute(); + return ((Integer)executeUpdates.nextReturnObject()).intValue(); } public void setInt(int parameterIndex, int x) throws SQLException { Index: CommonMockStatement.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/jdk/common/com/mockobjects/sql/CommonMockStatement.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- CommonMockStatement.java 9 Dec 2002 18:20:10 -0000 1.3 +++ CommonMockStatement.java 23 Apr 2003 11:52:46 -0000 1.4 @@ -1,9 +1,8 @@ package com.mockobjects.sql; import com.mockobjects.ExpectationCounter; -import com.mockobjects.ExpectationValue; import com.mockobjects.MockObject; -import com.mockobjects.ReturnObjectList; +import com.mockobjects.ReturnObjectBag; import java.sql.*; @@ -12,29 +11,29 @@ */ abstract class CommonMockStatement extends MockObject implements Statement { protected final ExpectationCounter myCloseCalls = new ExpectationCounter("CommonMockStatement.closeCalls"); - protected final ExpectationCounter myExecuteCalls = new ExpectationCounter("CommonMockStatement.executeCalls"); - protected final ExpectationValue myQueryString = new ExpectationValue("CommonMockStatement.queryString"); - protected final ReturnObjectList myResultSets = new ReturnObjectList("result set"); + private final ReturnObjectBag executeQueryResults = new ReturnObjectBag("executeQuery"); + private final ReturnObjectBag executeUpdateResults = new ReturnObjectBag("executeUpdate"); + private final ReturnObjectBag executeResults = new ReturnObjectBag("execute"); private int myUpdateCount = 0; private SQLException myExecuteException = null; private Connection myConnection = null; - public void setExpectedExecuteCalls(int callCount) { - myExecuteCalls.setExpected(callCount); + public void addExpectedExecuteQuery(String queryString, ResultSet resultSet) { + executeQueryResults.putObjectToReturn(queryString, resultSet); } - public void setExpectedQueryString(String queryString) { - myQueryString.setExpected(queryString); + public void addExpectedExecuteUpdate(String queryString, int updateCount) { + executeUpdateResults.putObjectToReturn(queryString, updateCount); } - public void setExpectedCloseCalls(int callCount) { - myCloseCalls.setExpected(callCount); + public void addExpectedExecute(String queryString, boolean success) { + executeResults.putObjectToReturn(queryString, success); } - public void addResultSet(MockResultSet aResultSet) { - myResultSets.addObjectToReturn(aResultSet); + public void setExpectedCloseCalls(int callCount) { + myCloseCalls.setExpected(callCount); } public void setupConnection(Connection conn) { @@ -50,7 +49,6 @@ } protected void innerExecute() throws SQLException { - myExecuteCalls.inc(); if (null != myExecuteException) { throw myExecuteException; } @@ -61,20 +59,18 @@ } public boolean execute(String sql) throws SQLException { - notImplemented(); - return true; + innerExecute(); + return executeResults.getNextReturnBoolean(sql); } public ResultSet executeQuery(String sql) throws SQLException { - myQueryString.setActual(sql); innerExecute(); - return (ResultSet)myResultSets.nextReturnObject(); + return (ResultSet) executeQueryResults.getNextReturnObject(sql); } public int executeUpdate(String sql) throws SQLException { - myQueryString.setActual(sql); innerExecute(); - return myUpdateCount; + return executeUpdateResults.getNextReturnInt(sql); } public int getMaxFieldSize() throws SQLException { Index: MockResultSet.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/src/jdk/common/com/mockobjects/sql/MockResultSet.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- MockResultSet.java 10 Apr 2003 10:37:39 -0000 1.6 +++ MockResultSet.java 23 Apr 2003 11:52:46 -0000 1.7 @@ -3,6 +3,7 @@ import com.mockobjects.ExpectationCounter; import com.mockobjects.MockObject; import com.mockobjects.ReturnValue; +import com.mockobjects.util.AssertMo; import java.io.InputStream; import java.io.Reader; @@ -248,7 +249,15 @@ } public String getString(int columnIndex) throws SQLException { - return (String) getObject(columnIndex); + final Object object = getObject(columnIndex); + if (object != null) { + AssertMo.assertTrue("Column " + columnIndex + " in " + name + " is a " + + object.getClass().getName() + " not a String", object instanceof String); + + return (String) object; + } else { + return null; + } } public String getString(String columnName) throws SQLException { |