Original 2.4
[marc4j.git] / src / org / marc4j / test / DataFieldTest.java
1 package org.marc4j.test;\r
2 \r
3 import junit.framework.Test;\r
4 import junit.framework.TestCase;\r
5 import junit.framework.TestSuite;\r
6 import junit.textui.TestRunner;\r
7 \r
8 import org.marc4j.marc.DataField;\r
9 import org.marc4j.marc.MarcFactory;\r
10 import org.marc4j.marc.Subfield;\r
11 \r
12 public class DataFieldTest extends TestCase {\r
13 \r
14     MarcFactory factory = null;\r
15 \r
16     public void setUp() {\r
17         factory = MarcFactory.newInstance();\r
18     }\r
19 \r
20     public void testConstructor() {\r
21         DataField df = factory.newDataField("245", '1', '0');\r
22         assertEquals("245", df.getTag());\r
23         assertEquals('1', df.getIndicator1());\r
24         assertEquals('0', df.getIndicator2());\r
25     }\r
26 \r
27     public void testAddSubfield() {\r
28         DataField df = factory.newDataField("245", '1', '0');\r
29         Subfield sf = factory.newSubfield('a', "Summerland");\r
30         df.addSubfield(sf);\r
31         assertEquals(1, df.getSubfields().size());\r
32     }\r
33 \r
34     public void testSetSubfield() {\r
35         DataField df = factory.newDataField("245", '1', '0');\r
36         Subfield sf1 = factory.newSubfield('a', "Summerland");\r
37         Subfield sf2 = factory.newSubfield('c', "Michael Chabon");\r
38         df.addSubfield(sf2);\r
39         df.addSubfield(0, sf1);\r
40         Subfield s = (Subfield) df.getSubfields().get(0);\r
41         assertEquals(2, df.getSubfields().size());\r
42         assertEquals('a', s.getCode());\r
43     }\r
44 \r
45     public void testComparable() throws Exception {\r
46         DataField df1 = factory.newDataField("600", '0', '0');\r
47         DataField df2 = factory.newDataField("600", '0', '0');\r
48         assertEquals(0, df1.compareTo(df2));\r
49         df2.setTag("245");\r
50         assertEquals(4, df1.compareTo(df2));\r
51         df2.setTag("700");\r
52         assertEquals(-1, df1.compareTo(df2));\r
53     }\r
54 \r
55     public void tearDown() {\r
56         factory = null;\r
57     }\r
58 \r
59     public static Test suite() {\r
60         return new TestSuite(DataFieldTest.class);\r
61     }\r
62 \r
63     public static void main(String args[]) {\r
64         TestRunner.run(suite());\r
65     }\r
66 }\r