View Javadoc
1   /**
2    * 
3    */
4   package org.melati.poem.test;
5   
6   import java.text.DateFormat;
7   import java.util.Locale;
8   
9   import org.melati.poem.PoemLocale;
10  
11  import junit.framework.TestCase;
12  
13  /**
14   * @author timp
15   * @since 5 Feb 2007
16   *
17   */
18  public class PoemLocaleTest extends TestCase {
19  
20    public PoemLocaleTest(String name) {
21      super(name);
22    }
23  
24    protected void setUp() throws Exception {
25      super.setUp();
26    }
27  
28    protected void tearDown() throws Exception {
29      super.tearDown();
30    }
31  
32    /**
33     * Test method for {@link org.melati.poem.PoemLocale#hashCode()}.
34     */
35    public void testHashCode() {
36      PoemLocale l1 = PoemLocale.fromLanguageTag("en-gb");
37      assertEquals(PoemLocale.HERE, l1);
38      assertEquals(PoemLocale.HERE.hashCode(),l1.hashCode());
39    }
40  
41    /**
42     * Test method for {@link org.melati.poem.PoemLocale#fromLanguageTag(java.lang.String)}.
43     */
44    public void testFromLanguageTag() {
45      assertEquals(PoemLocale.HERE, PoemLocale.fromLanguageTag("en-gb"));
46      assertEquals("en_AU", PoemLocale.fromLanguageTag("en-au").toString());
47      assertEquals("en", PoemLocale.fromLanguageTag("en-").toString());
48      assertEquals("en", PoemLocale.fromLanguageTag("en-a").toString());
49      assertEquals("en", PoemLocale.fromLanguageTag("en-abc").toString());
50      assertEquals("en", PoemLocale.fromLanguageTag("en-abc-fr").toString());
51      assertEquals("en_AU", PoemLocale.fromLanguageTag("en-au-fr").toString());
52  
53      assertNull(PoemLocale.fromLanguageTag(""));
54      
55    }
56  
57    /**
58     * Test method for {@link org.melati.poem.PoemLocale#PoemLocale(java.util.Locale)}.
59     */
60    public void testPoemLocale() {
61      try {
62        new PoemLocale(null);
63        fail("Should have blown up.");
64      } catch (NullPointerException e) { 
65        e = null;
66      }
67    }
68  
69    /**
70     * Test method for {@link org.melati.poem.PoemLocale#locale()}.
71     */
72    public void testLocale() {
73      assertEquals("en_GB",PoemLocale.HERE.locale().toString());
74    }
75  
76    /**
77     * Test method for {@link org.melati.poem.PoemLocale#monthName(int)}.
78     */
79    public void testMonthName() {
80      assertEquals("January", PoemLocale.HERE.monthName(1));
81    }
82  
83    /**
84     * Test method for {@link org.melati.poem.PoemLocale#shortMonthName(int)}.
85     */
86    public void testShortMonthName() {
87      assertEquals("Jan", PoemLocale.HERE.shortMonthName(1));
88    }
89  
90    /**
91     * Test method for {@link org.melati.poem.PoemLocale#dateFormat(int)}.
92     */
93    public void testDateFormat() {
94      assertEquals( DateFormat.getDateInstance(DateFormat.SHORT, 
95                                               PoemLocale.HERE.locale()).hashCode(), 
96      PoemLocale.HERE.dateFormat(3).hashCode());    
97    }
98  
99    /**
100    * Test method for {@link org.melati.poem.PoemLocale#timestampFormat(int)}.
101    */
102   public void testTimestampFormat() {
103     
104   }
105 
106   /**
107    * Test method for {@link org.melati.poem.PoemLocale#equals(java.lang.Object)}.
108    */
109   public void testEqualsObject() {
110     assertEquals(PoemLocale.HERE,PoemLocale.HERE);
111     assertEquals(PoemLocale.HERE,new PoemLocale(new Locale("en","GB")));
112     assertTrue(PoemLocale.HERE.equals(new PoemLocale(new Locale("en","GB"))));
113     assertFalse(PoemLocale.HERE.equals(new Exception()));
114   }
115 
116   /**
117    * Test method for {@link org.melati.poem.PoemLocale#toString()}.
118    */
119   public void testToString() {
120     assertEquals("en_GB",PoemLocale.HERE.toString());    
121   }
122 
123 }