Test with/out bad indicators. Need valid test data.
[marc4j.git] / src / org / marc4j / test / ReaderTest.java
1 package org.marc4j.test;\r
2 \r
3 import java.io.InputStream;\r
4 \r
5 import junit.framework.Test;\r
6 import junit.framework.TestCase;\r
7 import junit.framework.TestSuite;\r
8 import junit.textui.TestRunner;\r
9 \r
10 import org.marc4j.MarcStreamReader;\r
11 import org.marc4j.MarcXmlReader;\r
12 import org.marc4j.marc.Record;\r
13 \r
14 public class ReaderTest extends TestCase {\r
15 \r
16   public void testReaderNoSkip() throws Exception {\r
17     testMarcStreamReader(false);\r
18   }\r
19 \r
20   public void testWriteAndReadSkip() throws Exception {\r
21     testMarcStreamReader(true);\r
22   }\r
23 \r
24   public void testWriteAndReadNoSkip() throws Exception {\r
25     testMarcStreamReader(false);\r
26   }\r
27 \r
28   \r
29   public void testMarcStreamReader(boolean setBadIndicators) throws Exception {\r
30         int i = 0;\r
31         InputStream input = getClass().getResourceAsStream(\r
32                 "resources/chabon.mrc");\r
33         MarcStreamReader reader = new MarcStreamReader(input);\r
34         reader.setBadIndicators(setBadIndicators);\r
35         while (reader.hasNext()) {\r
36             Record record = reader.next();\r
37             System.err.println(record.toString());\r
38             i++;\r
39         }\r
40         input.close();\r
41         assertEquals(2, i);\r
42     }\r
43 \r
44     public void testMarcXmlReader() throws Exception {\r
45         int i = 0;\r
46         InputStream input = getClass().getResourceAsStream(\r
47                 "resources/chabon.xml");\r
48         MarcXmlReader reader = new MarcXmlReader(input);\r
49         while (reader.hasNext()) {\r
50             Record record = reader.next();\r
51             System.err.println(record.toString());\r
52             i++;\r
53         }\r
54         input.close();\r
55         assertEquals(2, i);\r
56     }\r
57 \r
58         public static Test suite() {\r
59             return new TestSuite(ReaderTest.class);\r
60         }\r
61         \r
62         public static void main(String args[]) {\r
63             TestRunner.run(suite());\r
64         }\r
65 }\r