KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > hajdbc > sql > AbstractTestDatabase


1 /*
2  * HA-JDBC: High-Availability JDBC
3  * Copyright (c) 2004-2006 Paul Ferraro
4  *
5  * This library is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU Lesser General Public License as published by the
7  * Free Software Foundation; either version 2.1 of the License, or (at your
8  * option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
13  * for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this library; if not, write to the Free Software Foundation,
17  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  *
19  * Contact: ferraro@users.sourceforge.net
20  */

21 package net.sf.hajdbc.sql;
22
23 import net.sf.hajdbc.Database;
24
25 import org.easymock.EasyMock;
26 import org.easymock.IMocksControl;
27 import org.testng.annotations.AfterMethod;
28 import org.testng.annotations.Test;
29
30 /**
31  * @author Paul Ferraro
32  *
33  */

34 public abstract class AbstractTestDatabase
35 {
36     protected IMocksControl control = EasyMock.createControl();
37     
38     protected abstract Database createDatabase(String JavaDoc id);
39     
40     @AfterMethod
41     protected void tearDown()
42     {
43         this.control.reset();
44     }
45     
46     /**
47      * Test method for {@link net.sf.hajdbc.sql.AbstractDatabase#equals(Object)}
48      */

49     @Test
50     public void testEqualsObject()
51     {
52         Database database1 = this.createDatabase("1");
53         
54         Database database2 = this.createDatabase("1");
55         
56         assert database1.equals(database2);
57         
58         database2 = this.createDatabase("2");
59
60         assert !database1.equals(database2);
61     }
62
63     /**
64      * Test method for {@link net.sf.hajdbc.sql.AbstractDatabase#hashCode()}
65      */

66     @Test
67     public void testHashCode()
68     {
69         Database database = this.createDatabase("test");
70         
71         int hashCode = database.hashCode();
72         
73         assert "test".hashCode() == hashCode;
74     }
75     
76     /**
77      * Test method for {@link net.sf.hajdbc.sql.AbstractDatabase#compareTo(Database)}
78      */

79     @Test
80     public void testCompareTo()
81     {
82         Database database1 = this.createDatabase("a");
83         Database database2 = this.createDatabase("b");
84         
85         int result = database1.compareTo(database2);
86         
87         assert result < 0 : result;
88         
89         result = database2.compareTo(database1);
90         
91         assert result > 0 : result;
92         
93         database2 = this.createDatabase("a");
94         
95         result = database1.compareTo(database2);
96         
97         assert result == 0 : result;
98         
99         result = database2.compareTo(database1);
100         
101         assert result == 0 : result;
102     }
103     
104     /**
105      * Test method for {@link net.sf.hajdbc.sql.AbstractDatabase#setUser(String)}
106      */

107     @Test
108     public void testSetUser()
109     {
110         Database database = this.createDatabase(null);
111         
112         assert !database.isDirty();
113         
114         database.setUser(null);
115         
116         assert !database.isDirty();
117         
118         database.setUser("test");
119         
120         assert database.isDirty();
121
122         database.setUser("test");
123         
124         assert database.isDirty();
125
126         database.clean();
127         
128         assert !database.isDirty();
129         
130         database.setUser(null);
131         
132         assert database.isDirty();
133         
134         database.setUser("test");
135         
136         assert database.isDirty();
137         
138         database.clean();
139         
140         assert !database.isDirty();
141         
142         database.setUser("different");
143         
144         assert database.isDirty();
145     }
146     
147     /**
148      * Test method for {@link net.sf.hajdbc.sql.AbstractDatabase#setPassword(String)}
149      */

150     @Test
151     public void testSetPassword()
152     {
153         Database database = this.createDatabase(null);
154         
155         assert !database.isDirty();
156         
157         database.setPassword(null);
158         
159         assert !database.isDirty();
160         
161         database.setPassword("test");
162         
163         assert database.isDirty();
164
165         database.setPassword("test");
166         
167         assert database.isDirty();
168
169         database.clean();
170         
171         assert !database.isDirty();
172         
173         database.setPassword(null);
174         
175         assert database.isDirty();
176         
177         database.setPassword("test");
178         
179         assert database.isDirty();
180         
181         database.clean();
182         
183         assert !database.isDirty();
184         
185         database.setUser("different");
186         
187         assert database.isDirty();
188     }
189     
190     /**
191      * Test method for {@link net.sf.hajdbc.sql.AbstractDatabase#setProperty(String, String)}
192      */

193     @Test
194     public void testSetProperty()
195     {
196         Database database = this.createDatabase(null);
197         
198         assert !database.isDirty();
199         
200         database.setProperty("name", "test");
201         
202         assert database.isDirty();
203
204         database.setProperty("name", "test");
205         
206         assert database.isDirty();
207
208         database.clean();
209         
210         assert !database.isDirty();
211         
212         database.setProperty("name", "different");
213         
214         assert database.isDirty();
215     }
216     
217     /**
218      * Test method for {@link net.sf.hajdbc.sql.AbstractDatabase#setWeight(int)}
219      */

220     @Test
221     public void testSetWeight()
222     {
223         Database database = this.createDatabase(null);
224         
225         assert !database.isDirty();
226         
227         database.setWeight(1);
228         
229         assert !database.isDirty();
230         
231         database.setWeight(2);
232         
233         assert database.isDirty();
234
235         database.setWeight(2);
236         
237         assert database.isDirty();
238     }
239     
240     /**
241      * Test method for {@link net.sf.hajdbc.sql.AbstractDatabase#removeProperty(String)}
242      */

243     @Test
244     public void testRemoveProperty()
245     {
246         Database database = this.createDatabase(null);
247         
248         assert !database.isDirty();
249         
250         database.removeProperty("name");
251         
252         assert !database.isDirty();
253         
254         database.setProperty("name", "test");
255         
256         assert database.isDirty();
257
258         database.clean();
259         
260         assert !database.isDirty();
261
262         database.removeProperty("name");
263         
264         assert database.isDirty();
265     }
266 }
267
Popular Tags