Make List type safe. Remove/suppress all warnings.
[marc4j.git] / src / org / marc4j / test / RoundtripTest.java
1 package org.marc4j.test;\r
2 \r
3 import java.io.ByteArrayInputStream;\r
4 import java.io.ByteArrayOutputStream;\r
5 import java.io.InputStream;\r
6 \r
7 import junit.framework.Test;\r
8 import junit.framework.TestCase;\r
9 import junit.framework.TestSuite;\r
10 import junit.textui.TestRunner;\r
11 \r
12 import org.marc4j.MarcStreamReader;\r
13 import org.marc4j.MarcStreamWriter;\r
14 import org.marc4j.converter.impl.AnselToUnicode;\r
15 import org.marc4j.marc.Record;\r
16 \r
17 public class RoundtripTest extends TestCase {\r
18 \r
19     public void testWriteRead() throws Exception {\r
20 \r
21         int counter = 0;\r
22 \r
23         InputStream input = getClass().getResourceAsStream(\r
24                 "resources/summerland.mrc");\r
25 \r
26         MarcStreamReader reader = new MarcStreamReader(input);\r
27         ByteArrayOutputStream out = new ByteArrayOutputStream();\r
28         MarcStreamWriter writer = new MarcStreamWriter(out);\r
29         while (reader.hasNext()) {\r
30             Record record = reader.next();\r
31             writer.write(record);\r
32             counter++;\r
33         }\r
34         input.close();\r
35         writer.close();\r
36 \r
37         assertEquals(1, counter);\r
38 \r
39         counter = 0;\r
40 \r
41         input = new ByteArrayInputStream(out.toByteArray());\r
42 \r
43         reader = new MarcStreamReader(input);\r
44         while (reader.hasNext()) {\r
45             @SuppressWarnings("unused")\r
46             Record record = reader.next();\r
47             counter++;\r
48         }\r
49         input.close();\r
50 \r
51         assertEquals(1, counter);\r
52     }\r
53 \r
54     public void testWriteReadUtf8() throws Exception {\r
55         InputStream input = getClass().getResourceAsStream(\r
56                 "resources/brkrtest.mrc");\r
57 \r
58         int counter = 0;\r
59 \r
60         MarcStreamReader reader = new MarcStreamReader(input);\r
61         ByteArrayOutputStream out = new ByteArrayOutputStream();\r
62         MarcStreamWriter writer = new MarcStreamWriter(out, "UTF8");\r
63         writer.setConverter(new AnselToUnicode());\r
64         while (reader.hasNext()) {\r
65             Record record = reader.next();\r
66             writer.write(record);\r
67             counter++;\r
68         }\r
69         input.close();\r
70         writer.close();\r
71 \r
72         assertEquals(8, counter);\r
73 \r
74         counter = 0;\r
75 \r
76         input = new ByteArrayInputStream(out.toByteArray());\r
77 \r
78         reader = new MarcStreamReader(input, "UTF8");\r
79 \r
80         while (reader.hasNext()) {\r
81             @SuppressWarnings("unused")\r
82             Record record = reader.next();\r
83             counter++;\r
84         }\r
85         input.close();\r
86 \r
87         assertEquals(8, counter);\r
88     }\r
89 \r
90     public static Test suite() {\r
91         return new TestSuite(RoundtripTest.class);\r
92     }\r
93 \r
94     public static void main(String args[]) {\r
95         TestRunner.run(suite());\r
96     }\r
97 \r
98 }\r