OSDN Git Service

remove null assignment.
[mikutoga/TogaGem.git] / src / test / java / jp / sfjp / mikutoga / xml / BasicXmlExporterTest.java
1 /*
2  */
3
4 package jp.sfjp.mikutoga.xml;
5
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.*;
13
14 /**
15  *
16  */
17 public class BasicXmlExporterTest {
18
19     public BasicXmlExporterTest() {
20     }
21
22     @BeforeClass
23     public static void setUpClass() {
24     }
25
26     @AfterClass
27     public static void tearDownClass() {
28     }
29
30     @Before
31     public void setUp() {
32     }
33
34     @After
35     public void tearDown() {
36     }
37
38     /**
39      * Test of putCharRef2Hex method, of class BasicXmlExporter.
40      * @throws IOException
41      */
42     @Test
43     public void testPutCharRef2Hex() throws IOException{
44         System.out.println("putCharRef2Hex");
45
46         BasicXmlExporter instance;
47         StringBuffer buf;
48
49         instance = new BasicXmlExporter();
50
51         buf = new StringBuffer();
52         instance.setAppendable(buf);
53         instance.putCharRef2Hex('\u0000');
54         assertEquals("�", buf.toString());
55
56         buf = new StringBuffer();
57         instance.setAppendable(buf);
58         instance.putCharRef2Hex('A');
59         assertEquals("A", buf.toString());
60
61         buf = new StringBuffer();
62         instance.setAppendable(buf);
63         instance.putCharRef2Hex('\u00ff');
64         assertEquals("ÿ", buf.toString());
65
66         buf = new StringBuffer();
67         instance.setAppendable(buf);
68         instance.putCharRef2Hex('\u0100');
69         assertEquals("Ā", buf.toString());
70
71         return;
72     }
73
74     /**
75      * Test of putCh method, of class BasicXmlExporter.
76      * @throws IOException
77      */
78     @Test
79     public void testPutCh() throws IOException{
80         System.out.println("putCh");
81
82         BasicXmlExporter instance;
83         StringBuffer buf;
84
85         instance = new BasicXmlExporter();
86
87         buf = new StringBuffer();
88         instance.setAppendable(buf);
89         instance.putCh('A');
90         assertEquals("A", buf.toString());
91
92         buf = new StringBuffer();
93         instance.setAppendable(buf);
94         instance.putCh('B').putCh('7').putCh('あ');
95         assertEquals("B7あ", buf.toString());
96
97         buf = new StringBuffer();
98         instance.setAppendable(buf);
99         instance.putCh('&').putCh('<').putCh('>').putCh('"').putCh('\'');
100         assertEquals("&amp;&lt;&gt;&quot;&apos;", buf.toString());
101
102         buf = new StringBuffer();
103         instance.setAppendable(buf);
104         instance.putCh('\b');
105         assertEquals("&#x08;", buf.toString());
106
107         return;
108     }
109
110     /**
111      * Test of append method, of class BasicXmlExporter.
112      */
113     @Test
114     public void testAppend() {
115         System.out.println("setAppendable");
116
117         BasicXmlExporter instance;
118         Appendable app;
119         StringBuffer buf;
120         
121         instance = new BasicXmlExporter();
122
123         try{
124             instance.append(null);
125             fail();
126         }catch(NullPointerException e){
127             assert true;
128         }catch(IOException e){
129             fail();
130         }
131
132         buf = new StringBuffer();
133         app = buf;
134
135         instance.setAppendable(app);
136
137         try{
138             instance.append("abc");
139             instance.append('d');
140             instance.append("abcdef", 4, 5);
141         }catch(IOException e){
142             fail();
143         }
144
145         assertEquals("abcde", buf.toString());
146
147         try{
148             instance.flush();
149             instance.close();
150         }catch(IOException e){
151             fail();
152         }
153
154         return;
155     }
156
157     @Test
158     public void testPutXsdInt() throws IOException{
159         System.out.println("putXsdInt");
160
161         BasicXmlExporter instance;
162         StringBuffer buf;
163
164         instance = new BasicXmlExporter();
165
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());
170
171         buf = new StringBuffer();
172         instance.setAppendable(buf);
173         instance.putXsdInt(-999).putCh(',').putXsdInt(9999);
174         assertEquals("-999,9999", buf.toString());
175
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());
180
181         return;
182     }
183
184     @Test
185     public void testPutXsdFloat() throws IOException{
186         System.out.println("putXsdFloat");
187
188         BasicXmlExporter instance;
189         StringBuffer buf;
190
191         instance = new BasicXmlExporter();
192
193         buf = new StringBuffer();
194         instance.setAppendable(buf);
195         instance.putXsdFloat(-1.0f).putCh(',')
196                 .putXsdFloat(-0.0f).putCh(',')
197                 .putXsdFloat(0.0f).putCh(',')
198                 .putXsdFloat(1.0f);
199         assertEquals("-1.0,-0.0,0.0,1.0", buf.toString());
200
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());
207
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());
214
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
219
220         buf = new StringBuffer();
221         instance.setAppendable(buf);
222         instance.putXsdFloat(StrictMath.nextDown(0.001f));
223         assertEquals("9.999999E-4", buf.toString());
224
225         buf = new StringBuffer();
226         instance.setAppendable(buf);
227         instance.putXsdFloat(10000000.0f);
228         assertEquals("1.0E7", buf.toString());
229
230         buf = new StringBuffer();
231         instance.setAppendable(buf);
232         instance.putXsdFloat(StrictMath.nextDown(10000000.0f));
233         assertEquals("9999999.0", buf.toString());
234
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());
240
241         return;
242     }
243
244 }