1 package org.marc4j.test;
\r
3 import java.io.ByteArrayInputStream;
\r
4 import java.io.ByteArrayOutputStream;
\r
5 import java.io.InputStream;
\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
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
17 public class RoundtripTest extends TestCase {
\r
19 public void testWriteRead() throws Exception {
\r
23 InputStream input = getClass().getResourceAsStream(
\r
24 "resources/summerland.mrc");
\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
37 assertEquals(1, counter);
\r
41 input = new ByteArrayInputStream(out.toByteArray());
\r
43 reader = new MarcStreamReader(input);
\r
44 while (reader.hasNext()) {
\r
45 Record record = reader.next();
\r
50 assertEquals(1, counter);
\r
53 public void testWriteReadUtf8() throws Exception {
\r
54 InputStream input = getClass().getResourceAsStream(
\r
55 "resources/brkrtest.mrc");
\r
59 MarcStreamReader reader = new MarcStreamReader(input);
\r
60 ByteArrayOutputStream out = new ByteArrayOutputStream();
\r
61 MarcStreamWriter writer = new MarcStreamWriter(out, "UTF8");
\r
62 writer.setConverter(new AnselToUnicode());
\r
63 while (reader.hasNext()) {
\r
64 Record record = reader.next();
\r
65 writer.write(record);
\r
71 assertEquals(8, counter);
\r
75 input = new ByteArrayInputStream(out.toByteArray());
\r
77 reader = new MarcStreamReader(input, "UTF8");
\r
79 while (reader.hasNext()) {
\r
80 Record record = reader.next();
\r
85 assertEquals(8, counter);
\r
88 public static Test suite() {
\r
89 return new TestSuite(RoundtripTest.class);
\r
92 public static void main(String args[]) {
\r
93 TestRunner.run(suite());
\r