KickJava   Java API By Example, From Geeks To Geeks.

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


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 java.io.ByteArrayInputStream JavaDoc;
24 import java.io.File JavaDoc;
25 import java.io.FileOutputStream JavaDoc;
26 import java.io.FileWriter JavaDoc;
27 import java.io.IOException JavaDoc;
28 import java.io.InputStream JavaDoc;
29 import java.io.OutputStream JavaDoc;
30 import java.io.Reader JavaDoc;
31 import java.io.StringReader JavaDoc;
32 import java.io.Writer JavaDoc;
33 import java.sql.SQLException JavaDoc;
34 import java.util.Arrays JavaDoc;
35
36 import org.testng.annotations.AfterClass;
37 import org.testng.annotations.Test;
38
39 /**
40  * Unit test for {@link FileSupportImpl}.
41  *
42  * @author Paul Ferraro
43  * @since 1.1
44  */

45 @Test
46 public class TestFileSupportImpl
47 {
48     private FileSupport fileSupport = new FileSupportImpl();
49     
50     @AfterClass
51     public void tearDown() throws Exception JavaDoc
52     {
53         this.fileSupport.close();
54     }
55
56     /**
57      * Test method for {@link FileSupportImpl#createFile(InputStream)}
58      */

59     public void testCreateFileInputStream()
60     {
61         InputStream JavaDoc inputStream = new ByteArrayInputStream JavaDoc(new byte[0]);
62         
63         try
64         {
65             File JavaDoc file = this.fileSupport.createFile(inputStream);
66             
67             assert file != null;
68             assert file.exists();
69             assert file.getName().startsWith("ha-jdbc-");
70             assert file.getName().endsWith(".lob");
71         }
72         catch (SQLException JavaDoc e)
73         {
74             assert false : e;
75         }
76     }
77
78     /**
79      * Test method for {@link FileSupportImpl#createFile(Reader)}
80      */

81     public void testCreateFileReader()
82     {
83         Reader JavaDoc reader = new StringReader JavaDoc("");
84         
85         try
86         {
87             File JavaDoc file = this.fileSupport.createFile(reader);
88             
89             assert file != null;
90             assert file.exists();
91             assert file.getName().startsWith("ha-jdbc-");
92             assert file.getName().endsWith(".lob");
93         }
94         catch (SQLException JavaDoc e)
95         {
96             assert false : e;
97         }
98     }
99
100     /**
101      * Test method for {@link FileSupportImpl#getReader(File)}
102      */

103     public void testGetReader()
104     {
105         try
106         {
107             File JavaDoc file = File.createTempFile("test", ".test");
108             Writer JavaDoc writer = new FileWriter JavaDoc(file);
109             writer.write("test");
110             writer.flush();
111             writer.close();
112             
113             Reader JavaDoc reader = this.fileSupport.getReader(file);
114             
115             char[] buffer = new char[4];
116             
117             assert reader != null;
118             assert reader.read(buffer) == 4;
119             assert new String JavaDoc(buffer).equals("test");
120             assert reader.read(buffer) < 0;
121         }
122         catch (IOException JavaDoc e)
123         {
124             assert false : e;
125         }
126         catch (SQLException JavaDoc e)
127         {
128             assert false : e;
129         }
130     }
131
132     /**
133      * Test method for {@link FileSupportImpl#getInputStream(File)}
134      */

135     public void testGetInputStream()
136     {
137         try
138         {
139             File JavaDoc file = File.createTempFile("test", ".test");
140             OutputStream JavaDoc outputStream = new FileOutputStream JavaDoc(file);
141             outputStream.write(new byte[] { 1, 2, 3, 4 });
142             outputStream.flush();
143             outputStream.close();
144             
145             InputStream JavaDoc inputStream = this.fileSupport.getInputStream(file);
146             
147             byte[] buffer = new byte[4];
148             
149             assert inputStream != null;
150             assert inputStream.read(buffer) == 4;
151             assert Arrays.equals(new byte[] { 1, 2, 3, 4 }, buffer);
152             assert inputStream.read(buffer) < 0;
153         }
154         catch (IOException JavaDoc e)
155         {
156             assert false : e;
157         }
158         catch (SQLException JavaDoc e)
159         {
160             assert false : e;
161         }
162     }
163
164     /**
165      * Test method for {@link FileSupportImpl#close()}
166      */

167     public void testClose()
168     {
169         Reader JavaDoc reader = new StringReader JavaDoc("");
170         
171         try
172         {
173             File JavaDoc file = this.fileSupport.createFile(reader);
174             
175             assert file.exists();
176             
177             this.fileSupport.close();
178
179             assert !file.exists();
180         }
181         catch (SQLException JavaDoc e)
182         {
183             assert false : e;
184         }
185     }
186 }
187
Popular Tags