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