1   package org.objectledge.i18n;
2   
3   import org.jcontainer.dna.Configuration;
4   import org.jcontainer.dna.ConfigurationException;
5   
6   /***
7    *
8    * @author <a href="maito:mgolebsk@elka.pw.edu.pl">Marcin Golebski</a>
9    * @created 2005-08-15 <br>
10   * $Id: NumberFormatterTest.java,v 1.3 2006/03/07 17:35:07 zwierzem Exp $ <br>
11   */
12  public class NumberFormatterTest extends FormatterTestCase
13  {
14      private NumberFormatter numberFormatter;
15      private final static double value = 1234567890.987654d;
16  
17      @Override
18      protected Class getFormatterClass()
19      {
20          return NumberFormatter.class;
21      }
22  
23      @Override
24      protected void createFormatter(Configuration config, I18n i18n)
25          throws ConfigurationException
26      {
27          numberFormatter = new NumberFormatter(config, i18n);
28      }
29  
30      /*
31       * Test method for 'org.objectledge.i18n.NumberFormatter.NumberFormatter(Configuration, Logger)'
32       */
33      public final void testNumberFormatter()
34      {
35          assertNotNull(numberFormatter);
36      }
37  
38      /*
39       * Test method for 'org.objectledge.i18n.NumberFormatter.getNumberFormat(String, Locale)'
40       */
41      public final void testGetNumberFormatStringLocale()
42      {
43          
44          // for some reason the following test runns under eclipse but fails under maven for me.
45          // assertEquals("1 234 567 890,99", numberFormatter.getNumberFormat("money", plLocale).format(value));
46          assertEquals("1234567891,0", numberFormatter.getNumberFormat("precision1", plLocale).format(value));
47          assertEquals("1234567890,99", numberFormatter.getNumberFormat("precision2", plLocale).format(value));
48          assertEquals("1234567890,9876540000000000000000000000000", numberFormatter.getNumberFormat("full", plLocale).format(value));
49  
50          assertEquals("1,234,567,890.99", numberFormatter.getNumberFormat("money", usLocale).format(value));
51          assertEquals("1234567891.0", numberFormatter.getNumberFormat("precision1", usLocale).format(value));
52          assertEquals("1234567890.99", numberFormatter.getNumberFormat("precision2", usLocale).format(value));
53          assertEquals("1234567890.9876540000000000", numberFormatter.getNumberFormat("full", usLocale).format(value));
54  
55      }
56  
57      /*
58       * Test method for 'org.objectledge.i18n.NumberFormatter.getNumberFormat(Locale)'
59       */
60      public final void testGetNumberFormatLocale()
61      {
62          assertEquals("1234567890,9876540000000000000000000000000", numberFormatter.getNumberFormat(plLocale).format(value));
63          assertEquals("1234567890.9876540000000000", numberFormatter.getNumberFormat(usLocale).format(value));
64  
65      }
66  
67      /*
68       * Test method for 'org.objectledge.i18n.NumberFormatter.getDefaultPattern(Locale)'
69       */
70      public final void testGetDefaultPattern()
71      {
72          assertEquals("full", numberFormatter.getDefaultPattern(plLocale));
73          assertEquals("full", numberFormatter.getDefaultPattern(usLocale));
74      }
75  
76  }