KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > util > LocalizedEntryListFactoryTest


1 /*
2
3 This software is OSI Certified Open Source Software.
4 OSI Certified is a certification mark of the Open Source Initiative.
5
6 The license (Mozilla version 1.0) can be read at the MMBase site.
7 See http://www.MMBase.org/license
8
9 */

10 package org.mmbase.util;
11 import org.mmbase.util.xml.*;
12 import org.w3c.dom.*;
13 import org.xml.sax.*;
14 import java.io.*;
15 import java.util.*;
16 import junit.framework.TestCase;
17
18 /**
19  *
20  * @author Michiel Meeuwissen
21  * @verion $Id: LocalizedEntryListFactoryTest.java,v 1.1 2006/04/10 15:01:47 michiel Exp $
22  */

23 public class LocalizedEntryListFactoryTest extends TestCase {
24
25     public static final Locale NL = new Locale("nl");
26     public static final Locale BE = new Locale("nl", "BE");
27     public static final Locale EN = new Locale("en", "GB");
28     public static final Locale DK = new Locale("dk");
29     public static final Locale EO = new Locale("eo");
30
31     public void testExplicitEntries() {
32         LocalizedEntryListFactory fact = new LocalizedEntryListFactory();
33         fact.add(NL, "a", "hallo");
34         fact.add(BE, "b", "saluut");
35         fact.add(EN, "a", "hello");
36         fact.add(EO, "a", "saluton");
37         fact.add(NL, "b", "hoi");
38         fact.add(EN, "b", "hi");
39         assertTrue(fact.size() == 2); // a and b.
40
{
41             List col = Arrays.asList(new Object JavaDoc[] { new Entry("a", "hallo"), new Entry("b", "hoi")});
42             assertEquals(col, fact.get(NL));
43         }
44         {
45             List col = Arrays.asList(new Object JavaDoc[] { new Entry("a", "hallo"), new Entry("b", "saluut")});
46             //assertEquals(col, fact.get(BE)); FAILS!
47
}
48         {
49             Collection col = Arrays.asList(new Object JavaDoc[] { new Entry("a", "hello"), new Entry("b", "hi")});
50             assertEquals(col, fact.get(EN));
51         }
52         assertEquals("a", fact.castKey("a"));
53         assertEquals("xxxx", fact.castKey("xxxx"));
54     }
55
56     public void testBundleEntries() {
57         LocalizedEntryListFactory fact = new LocalizedEntryListFactory();
58         String JavaDoc resource1 = "org.mmbase.datatypes.resources.boolean.truefalse";
59         fact.addBundle(resource1, null, null, Boolean JavaDoc.class, SortedBundle.NO_COMPARATOR);
60         assertTrue(fact.size() == 2); // false and true
61
{
62             Collection col = Arrays.asList(new Object JavaDoc[] { new Entry(Boolean.FALSE, "onwaar"), new Entry(Boolean.TRUE, "waar")});
63             assertEquals(col, fact.get(NL));
64             assertEquals(col, fact.get(BE));
65         }
66         {
67             Collection col = Arrays.asList(new Object JavaDoc[] { new Entry(Boolean.FALSE, "false"), new Entry(Boolean.TRUE, "true")});
68             assertEquals(col, fact.get(EN));
69         }
70     }
71
72     public void testCastKey() {
73         LocalizedEntryListFactory fact = new LocalizedEntryListFactory();
74         String JavaDoc resource1 = "org.mmbase.datatypes.resources.boolean.truefalse";
75         fact.addBundle(resource1, null, null, Boolean JavaDoc.class, SortedBundle.NO_COMPARATOR);
76
77         assertEquals(Boolean.FALSE, fact.castKey("false"));
78         assertEquals(Boolean.FALSE, fact.castKey("0"));
79         assertEquals(Boolean.TRUE, fact.castKey("true"));
80         assertEquals(Boolean.TRUE, fact.castKey("1"));
81         assertEquals("xxxx", fact.castKey("xxxx")); // not recognized, don't touch
82
}
83     public void testCastKey1() {
84         LocalizedEntryListFactory fact = new LocalizedEntryListFactory();
85         String JavaDoc resource1 = "org.mmbase.datatypes.resources.boolean.truefalse";
86         fact.addBundle(resource1, null, null, String JavaDoc.class, SortedBundle.NO_COMPARATOR);
87
88         assertEquals("false", fact.castKey("false"));
89         assertEquals("0", fact.castKey("0"));
90         assertEquals("true", fact.castKey("true"));
91         assertEquals("1", fact.castKey("1"));
92         assertEquals("xxxx", fact.castKey("xxxx"));
93     }
94
95     public void testReadXml() throws org.xml.sax.SAXException JavaDoc, java.io.IOException JavaDoc {
96         LocalizedEntryListFactory fact = new LocalizedEntryListFactory();
97         String JavaDoc config =
98             "<enumeration>" +
99             " <entry value='' display='unfilled' />" +
100             " <entry value='1' display='one' />" +
101             " <entry value='2' display='two' />" +
102             "</enumeration>";
103         Document doc = DocumentReader.getDocumentBuilder(false).parse(new InputSource(new StringReader(config)));
104         fact.fillFromXml(doc.getDocumentElement(), null);
105         assertTrue(fact.size() == 3); // '' '1' and '2'
106

107         assertEquals("", fact.castKey(""));
108         assertEquals(null, fact.castKey(null));
109         assertEquals(new Integer JavaDoc(1), fact.castKey(new Integer JavaDoc(1)));
110
111     }
112     public void testReadXml2() throws org.xml.sax.SAXException JavaDoc, java.io.IOException JavaDoc {
113         LocalizedEntryListFactory fact = new LocalizedEntryListFactory();
114         String JavaDoc config =
115             "<enumeration>" +
116             " <entry basename='org.mmbase.datatypes.resources.boolean.truefalse' />" +
117             "</enumeration>";
118         Document doc = DocumentReader.getDocumentBuilder(false).parse(new InputSource(new StringReader(config)));
119         fact.fillFromXml(doc.getDocumentElement(), Boolean JavaDoc.class);
120
121         assertEquals(Boolean.FALSE, fact.castKey("false"));
122         assertEquals(Boolean.FALSE, fact.castKey("0"));
123         assertEquals(Boolean.TRUE, fact.castKey("true"));
124         assertEquals(Boolean.TRUE, fact.castKey("1"));
125         assertEquals("xxxx" , fact.castKey("xxxx"));
126
127         // now change wrap type
128

129         Element xml = fact.toXml();
130         fact.clear();
131         fact.fillFromXml(xml, String JavaDoc.class);
132         assertEquals("false", fact.castKey("false"));
133         assertEquals("0", fact.castKey("0"));
134         assertEquals("true", fact.castKey("true"));
135         assertEquals("1", fact.castKey("1"));
136         assertEquals("xxxx", fact.castKey("xxxx"));
137
138     }
139     public void testReadXml3() throws org.xml.sax.SAXException JavaDoc, java.io.IOException JavaDoc {
140         LocalizedEntryListFactory fact = new LocalizedEntryListFactory();
141         String JavaDoc config =
142             "<enumeration>" +
143             "<entry basename='org.mmbase.datatypes.resources.states'" +
144             " javaconstants='org.mmbase.module.builders.MMServers'" +
145             " />" +
146             "</enumeration>";
147         Document doc = DocumentReader.getDocumentBuilder(false).parse(new InputSource(new StringReader(config)));
148         fact.fillFromXml(doc.getDocumentElement(), Integer JavaDoc.class);
149
150         assertEquals(new Integer JavaDoc(-1), fact.castKey("UNKNOWN"));
151         assertEquals(new Integer JavaDoc(-1), fact.castKey("unknown"));
152         assertEquals(new Integer JavaDoc(3), fact.castKey("error"));
153         assertEquals("blabla", fact.castKey("blabla"));
154     }
155
156
157 }
158
Popular Tags