View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.commons.dbutils;
18  
19  import static org.mockito.Mockito.mock;
20  
21  import java.sql.ResultSet;
22  import java.sql.SQLException;
23  import java.util.Iterator;
24  
25  import org.junit.Test;
26  
27  /**
28   * ResultSetIteratorTest
29   */
30  public class ResultSetIteratorTest extends BaseTestCase {
31  
32      @Test
33      public void testCreatesResultSetIteratorTakingThreeArgumentsAndCallsRemove() {
34  
35          final ResultSet resultSet = mock(ResultSet.class);
36          final ResultSetIterator resultSetIterator = new ResultSetIterator(resultSet, null);
37          resultSetIterator.remove();
38  
39      }
40  
41      public void testNext() {
42  
43          final Iterator<Object[]> iter = new ResultSetIterator(this.rs);
44  
45          assertTrue(iter.hasNext());
46          Object[] row = iter.next();
47          assertEquals(COLS, row.length);
48          assertEquals("1", row[0]);
49          assertEquals("2", row[1]);
50          assertEquals("THREE", row[2]);
51  
52          assertTrue(iter.hasNext());
53          row = iter.next();
54          assertEquals(COLS, row.length);
55  
56          assertEquals("4", row[0]);
57          assertEquals("5", row[1]);
58          assertEquals("SIX", row[2]);
59  
60          assertFalse(iter.hasNext());
61      }
62  
63      @Test
64      public void testRethrowThrowsRuntimeException() {
65  
66          final ResultSetIterator resultSetIterator = new ResultSetIterator((ResultSet) null);
67          final Throwable throwable = new Throwable();
68          final SQLException sQLException = new SQLException(throwable);
69  
70          try {
71              resultSetIterator.rethrow(sQLException);
72              fail("Expecting exception: RuntimeException");
73          } catch (final RuntimeException e) {
74              assertEquals(ResultSetIterator.class.getName(), e.getStackTrace()[0].getClassName());
75          }
76  
77      }
78  
79  
80  }