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 import java.util.Iterator;
21 import java.util.Map;
22
23 import org.apache.commons.dbutils.BaseTestCase;
24 import org.apache.commons.dbutils.ResultSetHandler;
25
26 public class KeyedHandlerTest extends BaseTestCase {
27
28 public void testHandle() throws SQLException {
29 ResultSetHandler h = new KeyedHandler();
30
31 Map results = (Map) h.handle(this.rs);
32
33 assertNotNull(results);
34 assertEquals(ROWS, results.size());
35
36 Iterator iter = results.keySet().iterator();
37 Map row = null;
38 while (iter.hasNext()) {
39 Object key = iter.next();
40 assertNotNull(key);
41 row = (Map) results.get(key);
42 assertNotNull(row);
43 assertEquals(COLS, row.keySet().size());
44 }
45
46 row = (Map) results.get("1");
47 assertEquals("1", row.get("one"));
48 assertEquals("2", row.get("TWO"));
49 assertEquals("3", row.get("Three"));
50 }
51
52 public void testColumnIndexHandle() throws SQLException {
53 ResultSetHandler h = new KeyedHandler(2);
54 Map results = (Map) h.handle(this.rs);
55
56 assertNotNull(results);
57 assertEquals(ROWS, results.size());
58
59 Iterator iter = results.keySet().iterator();
60 Map row = null;
61 while (iter.hasNext()) {
62 Object key = iter.next();
63 assertNotNull(key);
64 row = (Map) results.get(key);
65 assertNotNull(row);
66 assertEquals(COLS, row.keySet().size());
67 }
68
69 row = (Map) results.get("5");
70 assertEquals("4", row.get("one"));
71 assertEquals("5", row.get("TWO"));
72 assertEquals("6", row.get("Three"));
73 }
74
75 public void testColumnNameHandle() throws SQLException {
76 ResultSetHandler h = new KeyedHandler("three");
77 Map results = (Map) h.handle(this.rs);
78
79 assertNotNull(results);
80 assertEquals(ROWS, results.size());
81
82 Iterator iter = results.keySet().iterator();
83 Map row = null;
84 while (iter.hasNext()) {
85 Object key = iter.next();
86 assertNotNull(key);
87 row = (Map) results.get(key);
88 assertNotNull(row);
89 assertEquals(COLS, row.keySet().size());
90 }
91
92 row = (Map) results.get("6");
93 assertEquals("4", row.get("one"));
94 assertEquals("5", row.get("TWO"));
95 assertEquals("6", row.get("Three"));
96 }
97
98 public void testEmptyResultSetHandle() throws SQLException {
99 ResultSetHandler h = new KeyedHandler();
100 Map results = (Map) h.handle(this.emptyResultSet);
101 assertNotNull(results);
102 assertTrue(results.isEmpty());
103 }
104 }