Original 2.4
[marc4j.git] / src / org / marc4j / test / WriterTest.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.MarcXmlReader;\r
15 import org.marc4j.MarcXmlWriter;\r
16 import org.marc4j.marc.Record;\r
17 \r
18 public class WriterTest extends TestCase {\r
19 \r
20     public void testMarcStreamWriter() throws Exception {\r
21         InputStream input = getClass().getResourceAsStream(\r
22                 "resources/summerland.xml");\r
23         MarcStreamWriter writer = new MarcStreamWriter(System.out);\r
24         MarcXmlReader reader = new MarcXmlReader(input);\r
25         while (reader.hasNext()) {\r
26             Record record = reader.next();\r
27             writer.write(record);\r
28         }\r
29         input.close();\r
30         writer.close();\r
31     }\r
32 \r
33     public void testMarcXmlWriter() throws Exception {\r
34         InputStream input = getClass().getResourceAsStream(\r
35                 "resources/summerland.mrc");\r
36         MarcXmlWriter writer = new MarcXmlWriter(System.out, true);\r
37         MarcStreamReader reader = new MarcStreamReader(input);\r
38         while (reader.hasNext()) {\r
39             Record record = reader.next();\r
40             writer.write(record);\r
41         }\r
42         input.close();\r
43         writer.close();\r
44     }\r
45 \r
46     public void testWriteAndRead() throws Exception {\r
47         InputStream input = getClass().getResourceAsStream(\r
48                 "resources/summerland.xml");\r
49         ByteArrayOutputStream out = new ByteArrayOutputStream();\r
50         MarcStreamWriter writer = new MarcStreamWriter(out);\r
51         MarcXmlReader reader = new MarcXmlReader(input);\r
52         while (reader.hasNext()) {\r
53             Record record = reader.next();\r
54             writer.write(record);\r
55         }\r
56         input.close();\r
57         writer.close();\r
58 \r
59         ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());\r
60         MarcStreamReader marcReader = new MarcStreamReader(in);\r
61         MarcStreamWriter marcWriter = new MarcStreamWriter(System.out);\r
62         while (marcReader.hasNext()) {\r
63             Record record = marcReader.next();\r
64             marcWriter.write(record);\r
65         }\r
66         in.close();\r
67         marcWriter.close();\r
68 \r
69         out.close();\r
70     }\r
71 \r
72     public static Test suite() {\r
73         return new TestSuite(WriterTest.class);\r
74     }\r
75 \r
76     public static void main(String args[]) {\r
77         TestRunner.run(suite());\r
78     }\r
79 }\r