KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > dbutils > BaseTestCase


1 /*
2  * $Header: /home/cvs/jakarta-commons/dbutils/src/test/org/apache/commons/dbutils/BaseTestCase.java,v 1.3 2003/11/09 04:50:46 dgraham Exp $
3  * $Revision: 1.3 $
4  * $Date: 2003/11/09 04:50:46 $
5  *
6  * ====================================================================
7  *
8  * The Apache Software License, Version 1.1
9  *
10  * Copyright (c) 2003 The Apache Software Foundation. All rights
11  * reserved.
12  *
13  * Redistribution and use in source and binary forms, with or without
14  * modification, are permitted provided that the following conditions
15  * are met:
16  *
17  * 1. Redistributions of source code must retain the above copyright
18  * notice, this list of conditions and the following disclaimer.
19  *
20  * 2. Redistributions in binary form must reproduce the above copyright
21  * notice, this list of conditions and the following disclaimer in
22  * the documentation and/or other materials provided with the
23  * distribution.
24  *
25  * 3. The end-user documentation included with the redistribution, if
26  * any, must include the following acknowledgement:
27  * "This product includes software developed by the
28  * Apache Software Foundation (http://www.apache.org/)."
29  * Alternately, this acknowledgement may appear in the software itself,
30  * if and wherever such third-party acknowledgements normally appear.
31  *
32  * 4. The names "The Jakarta Project", "Commons", and "Apache Software
33  * Foundation" must not be used to endorse or promote products derived
34  * from this software without prior written permission. For written
35  * permission, please contact apache@apache.org.
36  *
37  * 5. Products derived from this software may not be called "Apache"
38  * nor may "Apache" appear in their names without prior written
39  * permission of the Apache Software Foundation.
40  *
41  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
42  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
43  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
44  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
45  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
46  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
47  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
48  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
49  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
50  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
51  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
52  * SUCH DAMAGE.
53  * ====================================================================
54  *
55  * This software consists of voluntary contributions made by many
56  * individuals on behalf of the Apache Software Foundation. For more
57  * information on the Apache Software Foundation, please see
58  * <http://www.apache.org/>.
59  *
60  */

61
62 package org.apache.commons.dbutils;
63
64 import java.sql.ResultSet JavaDoc;
65 import java.sql.ResultSetMetaData JavaDoc;
66 import java.util.Date JavaDoc;
67
68 import junit.framework.Test;
69 import junit.framework.TestCase;
70 import junit.framework.TestSuite;
71
72 import org.apache.commons.dbutils.handlers.ArrayHandlerTest;
73 import org.apache.commons.dbutils.handlers.ArrayListHandlerTest;
74 import org.apache.commons.dbutils.handlers.BeanHandlerTest;
75 import org.apache.commons.dbutils.handlers.BeanListHandlerTest;
76 import org.apache.commons.dbutils.handlers.MapHandlerTest;
77 import org.apache.commons.dbutils.handlers.MapListHandlerTest;
78 import org.apache.commons.dbutils.handlers.ScalarHandlerTest;
79 import org.apache.commons.dbutils.wrappers.SqlNullCheckedResultSetTest;
80 import org.apache.commons.dbutils.wrappers.StringTrimmedResultSetTest;
81
82 /**
83  * BaseTestCase is the base class for all test cases as well as the "all tests"
84  * runner.
85  *
86  * @author David Graham
87  */

88 public class BaseTestCase extends TestCase {
89
90     private static final String JavaDoc[] columnNames =
91         new String JavaDoc[] {
92             "one",
93             "two",
94             "three",
95             "notInBean",
96             "intTest",
97             "integerTest",
98             "nullObjectTest",
99             "nullPrimitiveTest",
100             "notDate" };
101
102     /**
103      * The number of columns in the MockResultSet.
104      */

105     protected static final int COLS = columnNames.length;
106
107     protected static final ResultSetMetaData JavaDoc metaData =
108         MockResultSetMetaData.create(columnNames);
109
110     private static final Object JavaDoc[] row1 =
111         new Object JavaDoc[] {
112             "1",
113             "2",
114             "3",
115             " notInBean ",
116             new Integer JavaDoc(1),
117             new Integer JavaDoc(2),
118             null,
119             null,
120             new Date JavaDoc()};
121
122     private static final Object JavaDoc[] row2 =
123         new Object JavaDoc[] {
124             "4",
125             "5",
126             "6",
127             " notInBean ",
128             new Integer JavaDoc(3),
129             new Integer JavaDoc(4),
130             null,
131             null,
132             new Date JavaDoc()};
133
134     private static final Object JavaDoc[][] rows = new Object JavaDoc[][] { row1, row2 };
135
136     /**
137      * The number of rows in the MockResultSet.
138      */

139     protected static final int ROWS = rows.length;
140
141     /**
142      * The ResultSet all test methods will use.
143      */

144     protected ResultSet JavaDoc rs = null;
145
146     /**
147      * A ResultSet with 0 rows.
148      */

149     protected ResultSet JavaDoc emptyResultSet = null;
150
151     /**
152      * Constructor for BaseTestCase.
153      */

154     public BaseTestCase(String JavaDoc name) {
155         super(name);
156     }
157
158     /**
159      * This is called before each test method so ResultSet will be fresh each
160      * time.
161      * @see junit.framework.TestCase#setUp()
162      */

163     protected void setUp() throws Exception JavaDoc {
164         super.setUp();
165
166         rs = this.createMockResultSet();
167         emptyResultSet = MockResultSet.create(metaData, null);
168     }
169
170     /**
171      * Creates a freshly initialized ResultSet.
172      */

173     protected ResultSet JavaDoc createMockResultSet() {
174         return MockResultSet.create(metaData, rows);
175     }
176
177     /**
178      * Return a TestSuite containing all of our test cases.
179      */

180     public static Test suite() {
181         TestSuite suite = new TestSuite("All DbUtils Tests");
182
183         suite.addTestSuite(BasicRowProcessorTest.class);
184         suite.addTestSuite(ProxyFactoryTest.class);
185         suite.addTestSuite(ResultSetIteratorTest.class);
186         suite.addTestSuite(QueryLoaderTest.class);
187
188         // test handler implementations
189
suite.addTestSuite(ArrayHandlerTest.class);
190         suite.addTestSuite(ArrayListHandlerTest.class);
191         suite.addTestSuite(BeanHandlerTest.class);
192         suite.addTestSuite(BeanListHandlerTest.class);
193         suite.addTestSuite(MapHandlerTest.class);
194         suite.addTestSuite(MapListHandlerTest.class);
195         suite.addTestSuite(ScalarHandlerTest.class);
196
197         suite.addTestSuite(StringTrimmedResultSetTest.class);
198         suite.addTestSuite(SqlNullCheckedResultSetTest.class);
199
200         return suite;
201     }
202
203 }
204
Popular Tags