4 package jp.sfjp.mikutoga.xml;
6 import java.io.IOException;
7 import org.junit.After;
8 import org.junit.AfterClass;
9 import org.junit.Before;
10 import org.junit.BeforeClass;
11 import org.junit.Test;
12 import static org.junit.Assert.*;
17 public class BasicXmlExporterTest {
19 public BasicXmlExporterTest() {
23 public static void setUpClass() {
27 public static void tearDownClass() {
35 public void tearDown() {
39 * Test of putCharRef2Hex method, of class BasicXmlExporter.
43 public void testPutCharRef2Hex() throws IOException{
44 System.out.println("putCharRef2Hex");
46 BasicXmlExporter instance;
49 instance = new BasicXmlExporter();
51 buf = new StringBuffer();
52 instance.setAppendable(buf);
53 instance.putCharRef2Hex('\u0000');
54 assertEquals("�", buf.toString());
56 buf = new StringBuffer();
57 instance.setAppendable(buf);
58 instance.putCharRef2Hex('A');
59 assertEquals("A", buf.toString());
61 buf = new StringBuffer();
62 instance.setAppendable(buf);
63 instance.putCharRef2Hex('\u00ff');
64 assertEquals("ÿ", buf.toString());
66 buf = new StringBuffer();
67 instance.setAppendable(buf);
68 instance.putCharRef2Hex('\u0100');
69 assertEquals("Ā", buf.toString());
75 * Test of putCh method, of class BasicXmlExporter.
79 public void testPutCh() throws IOException{
80 System.out.println("putCh");
82 BasicXmlExporter instance;
85 instance = new BasicXmlExporter();
87 buf = new StringBuffer();
88 instance.setAppendable(buf);
90 assertEquals("A", buf.toString());
92 buf = new StringBuffer();
93 instance.setAppendable(buf);
94 instance.putCh('B').putCh('7').putCh('あ');
95 assertEquals("B7あ", buf.toString());
97 buf = new StringBuffer();
98 instance.setAppendable(buf);
99 instance.putCh('&').putCh('<').putCh('>').putCh('"').putCh('\'');
100 assertEquals("&<>"'", buf.toString());
102 buf = new StringBuffer();
103 instance.setAppendable(buf);
104 instance.putCh('\b');
105 assertEquals("", buf.toString());
111 * Test of append method, of class BasicXmlExporter.
114 public void testAppend() {
115 System.out.println("setAppendable");
117 BasicXmlExporter instance;
121 instance = new BasicXmlExporter();
124 instance.append(null);
126 }catch(NullPointerException e){
128 }catch(IOException e){
132 buf = new StringBuffer();
135 instance.setAppendable(app);
138 instance.append("abc");
139 instance.append('d');
140 instance.append("abcdef", 4, 5);
141 }catch(IOException e){
145 assertEquals("abcde", buf.toString());
150 }catch(IOException e){
158 public void testPutXsdInt() throws IOException{
159 System.out.println("putXsdInt");
161 BasicXmlExporter instance;
164 instance = new BasicXmlExporter();
166 buf = new StringBuffer();
167 instance.setAppendable(buf);
168 instance.putXsdInt(-1).putCh(',').putXsdInt(0).putCh(',').putXsdInt(1);
169 assertEquals("-1,0,1", buf.toString());
171 buf = new StringBuffer();
172 instance.setAppendable(buf);
173 instance.putXsdInt(-999).putCh(',').putXsdInt(9999);
174 assertEquals("-999,9999", buf.toString());
176 buf = new StringBuffer();
177 instance.setAppendable(buf);
178 instance.putXsdInt(Integer.MIN_VALUE).putCh(',').putXsdInt(Integer.MAX_VALUE);
179 assertEquals("-2147483648,2147483647", buf.toString());
185 public void testPutXsdFloat() throws IOException{
186 System.out.println("putXsdFloat");
188 BasicXmlExporter instance;
191 instance = new BasicXmlExporter();
193 buf = new StringBuffer();
194 instance.setAppendable(buf);
195 instance.putXsdFloat(-1.0f).putCh(',')
196 .putXsdFloat(-0.0f).putCh(',')
197 .putXsdFloat(0.0f).putCh(',')
199 assertEquals("-1.0,-0.0,0.0,1.0", buf.toString());
201 buf = new StringBuffer();
202 instance.setAppendable(buf);
203 instance.putXsdFloat(Float.NEGATIVE_INFINITY).putCh(',')
204 .putXsdFloat(Float.POSITIVE_INFINITY).putCh(',')
205 .putXsdFloat(Float.NaN);
206 assertEquals("-INF,INF,NaN", buf.toString());
208 buf = new StringBuffer();
209 instance.setAppendable(buf);
210 instance.putXsdFloat(Float.MIN_VALUE).putCh(',')
211 .putXsdFloat(Float.MIN_NORMAL).putCh(',')
212 .putXsdFloat(Float.MAX_VALUE);
213 assertEquals("1.4E-45,1.17549435E-38,3.4028235E38", buf.toString());
215 buf = new StringBuffer();
216 instance.setAppendable(buf);
217 instance.putXsdFloat(0.001f);
218 assertEquals("0.001", buf.toString()); // fuzzy "0.0010" on JDK1.6
220 buf = new StringBuffer();
221 instance.setAppendable(buf);
222 instance.putXsdFloat(StrictMath.nextDown(0.001f));
223 assertEquals("9.999999E-4", buf.toString());
225 buf = new StringBuffer();
226 instance.setAppendable(buf);
227 instance.putXsdFloat(10000000.0f);
228 assertEquals("1.0E7", buf.toString());
230 buf = new StringBuffer();
231 instance.setAppendable(buf);
232 instance.putXsdFloat(StrictMath.nextDown(10000000.0f));
233 assertEquals("9999999.0", buf.toString());
235 buf = new StringBuffer();
236 instance.setAppendable(buf);
237 instance.putXsdFloat((float)StrictMath.E).putCh(',')
238 .putXsdFloat((float)StrictMath.PI);
239 assertEquals("2.7182817,3.1415927", buf.toString());