@Test
 public void testGetUpdateCount() {
   statementHandler.prepareUpdateCount(".*", 3);
   statementHandler.prepareUpdateCount("insert xyz", 4);
   assertEquals(new Integer(4), statementHandler.getUpdateCount("insert xyz"));
   assertEquals(new Integer(3), statementHandler.getUpdateCount(".*"));
   statementHandler.setUseRegularExpressions(true);
   assertEquals(new Integer(3), statementHandler.getUpdateCount("insert xyz"));
   assertEquals(new Integer(3), statementHandler.getUpdateCount("insert"));
   statementHandler.setExactMatch(true);
   assertEquals(new Integer(4), statementHandler.getUpdateCount("insert Xyz"));
   assertNull(statementHandler.getUpdateCount("insert"));
   statementHandler.prepareUpdateCounts("update", new int[] {1, 2});
   assertEquals(new Integer(1), statementHandler.getUpdateCount("update"));
 }
 @Test
 public void testPreparedSQLOrdered() {
   MockResultSet result1 = new MockResultSet("id1");
   MockResultSet result2 = new MockResultSet("id2");
   statementHandler.prepareResultSet("select", result1);
   statementHandler.prepareResultSet("SelecT", result2);
   statementHandler.prepareUpdateCount("SelecT", 3);
   statementHandler.prepareUpdateCount("select2", 2);
   statementHandler.prepareReturnsResultSet("select", false);
   statementHandler.prepareReturnsResultSet("selecT", true);
   statementHandler.prepareGeneratedKeys("seLECT", result1);
   statementHandler.prepareGeneratedKeys("select", result2);
   assertSame(result2, statementHandler.getResultSet("select"));
   assertSame(result2, statementHandler.getResultSets("select")[0]);
   assertEquals(new Integer(3), statementHandler.getUpdateCount("SELECT"));
   assertEquals(new Integer(3), statementHandler.getUpdateCounts("selecT")[0]);
   assertTrue(statementHandler.getReturnsResultSet("select").booleanValue());
   assertSame(result1, statementHandler.getGeneratedKeys("select"));
 }
 @Test
 public void testHasMultipleUpdateCounts() {
   statementHandler.prepareUpdateCount("update", 3);
   statementHandler.prepareUpdateCounts("insert into xyz", new int[] {4});
   statementHandler.prepareUpdateCounts("insert into abc", new int[] {1, 2, 4});
   assertFalse(statementHandler.hasMultipleUpdateCounts("update"));
   assertFalse(statementHandler.hasMultipleUpdateCounts("do nothing"));
   assertTrue(statementHandler.hasMultipleUpdateCounts("insert into xyz"));
   assertTrue(statementHandler.hasMultipleUpdateCounts("insert into abc"));
 }
 @Test
 public void testGetUpdateCounts() {
   int[] updateCounts = new int[] {1, 2};
   statementHandler.prepareUpdateCounts(".*", updateCounts);
   statementHandler.prepareUpdateCount("insert xyz", 4);
   Integer[] returnedUpdateCounts = statementHandler.getUpdateCounts(".*");
   assertEquals(2, returnedUpdateCounts.length);
   assertEquals(new Integer(1), returnedUpdateCounts[0]);
   assertEquals(new Integer(2), returnedUpdateCounts[1]);
   returnedUpdateCounts = statementHandler.getUpdateCounts("insert xyz");
   assertEquals(1, returnedUpdateCounts.length);
   assertEquals(new Integer(4), returnedUpdateCounts[0]);
   assertNull(statementHandler.getUpdateCounts("do nothing"));
 }
 @Test
 public void testClearMethods() {
   statementHandler.prepareResultSet("select", new MockResultSet("id"));
   statementHandler.prepareUpdateCount("select", 3);
   statementHandler.prepareThrowsSQLException("select");
   statementHandler.prepareReturnsResultSet("select", true);
   statementHandler.prepareGeneratedKeys("select", new MockResultSet("id"));
   statementHandler.clearResultSets();
   statementHandler.clearUpdateCounts();
   statementHandler.clearThrowsSQLException();
   statementHandler.clearReturnsResultSet();
   statementHandler.clearGeneratedKeys();
   assertNull(statementHandler.getResultSet("select"));
   assertNull(statementHandler.getUpdateCount("select"));
   assertFalse(statementHandler.getThrowsSQLException("select"));
   assertNull(statementHandler.getReturnsResultSet("select"));
   assertNull(statementHandler.getGeneratedKeys("select"));
 }