1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.dbutils.handlers;
18
19 import java.sql.SQLException;
20
21 import org.apache.commons.dbutils.BaseTestCase;
22 import org.apache.commons.dbutils.ResultSetHandler;
23 import org.apache.commons.dbutils.TestBean;
24
25
26
27
28 public class BeanHandlerTest extends BaseTestCase {
29
30 public static class SubTestBean extends TestBean implements SubTestBeanInterface { }
31
32 public interface SubTestBeanInterface {
33 String getDoNotSet();
34
35 String getOne();
36
37 TestBean.Ordinal getThree();
38
39 String getTwo();
40 }
41
42 public void testEmptyResultSetHandle() throws SQLException {
43 final ResultSetHandler<TestBean> h = new BeanHandler<>(TestBean.class);
44 final TestBean results = h.handle(this.emptyResultSet);
45
46 assertNull(results);
47 }
48
49 public void testHandle() throws SQLException {
50 final ResultSetHandler<TestBean> h = new BeanHandler<>(TestBean.class);
51 final TestBean results = h.handle(this.rs);
52
53 assertNotNull(results);
54 assertEquals("1", results.getOne());
55 assertEquals("2", results.getTwo());
56 assertEquals(TestBean.Ordinal.THREE, results.getThree());
57 assertEquals("not set", results.getDoNotSet());
58 }
59
60 public void testHandleToInterface() throws SQLException {
61 final ResultSetHandler<SubTestBeanInterface> h = new BeanHandler<>(SubTestBean.class);
62 final SubTestBeanInterface results = h.handle(this.rs);
63
64 assertNotNull(results);
65 assertEquals("1", results.getOne());
66 assertEquals("2", results.getTwo());
67 assertEquals(TestBean.Ordinal.THREE, results.getThree());
68 assertEquals("not set", results.getDoNotSet());
69 }
70
71 public void testHandleToSuperClass() throws SQLException {
72 final ResultSetHandler<TestBean> h = new BeanHandler<>(SubTestBean.class);
73 final TestBean results = h.handle(this.rs);
74
75 assertNotNull(results);
76 assertEquals("1", results.getOne());
77 assertEquals("2", results.getTwo());
78 assertEquals(TestBean.Ordinal.THREE, results.getThree());
79 assertEquals("not set", results.getDoNotSet());
80 }
81 }