1 package org.weda.converter;
2
3 import java.text.DecimalFormat;
4 import java.text.DecimalFormatSymbols;
5 import tim.test.LogableTestCase;
6 import org.weda.converter.impl.NumberConverter;
7
8 /**
9 *
10 * @author tim
11 */
12 public class NumberConverterTest extends LogableTestCase{
13
14 public NumberConverterTest(String name) {
15 super(name);
16 }
17
18 public void test_convertToString() throws Exception {
19 checkConvertToString(new NumberConverter());
20 }
21
22 public void test_convertToNumber_withoutPattern() throws Exception {
23 checkConvertToStringWithoutPattern(new NumberConverter());
24 }
25
26 public void test_convertToNumber_withPattern() throws Exception {
27 checkConvertToStringWithPattern(new NumberConverter());
28 }
29
30 public void checkConvertToString(ValueTypeConverter converter)
31 throws Exception
32 {
33 assertEquals("1", converter.convert(String.class, 1, null));
34 assertEquals("1.1", converter.convert(String.class, 1.1, null));
35 DecimalFormatSymbols syms = new DecimalFormatSymbols();
36 assertEquals("1"+syms.getDecimalSeparator()+"10"
37 , converter.convert(String.class, 1.1, "#.00"));
38 assertEquals("1"+syms.getDecimalSeparator()+"10"
39 , converter.convert(String.class, new Float(1.1), "#.00"));
40 }
41
42 public void checkConvertToStringWithoutPattern(ValueTypeConverter converter)
43 throws Exception
44 {
45 assertEquals(1, converter.convert(Integer.class, "1", null));
46 assertEquals(new Byte((byte)1), converter.convert(Byte.class, "1", null));
47 assertEquals(new Short((short)1), converter.convert(Short.class, "1", null));
48 assertEquals(new Long(1), converter.convert(Long.class, "1", null));
49
50 assertEquals(1.1, converter.convert(Double.class, "1.1", null));
51 assertEquals(new Float(1.1), converter.convert(Float.class, "1.1", null));
52 assertEquals(new Double(1.1), converter.convert(Double.class, "1.1", null));
53
54 }
55
56 public void checkConvertToStringWithPattern(ValueTypeConverter converter)
57 throws Exception
58 {
59 assertEquals(new Integer(1), converter.convert(Integer.class, "1", "0"));
60 assertEquals(new Byte((byte)1), converter.convert(Byte.class, "1", "0"));
61 assertEquals(new Short((short)1), converter.convert(Short.class, "1", "0"));
62 assertEquals(new Long(1), converter.convert(Long.class, "1", "0"));
63
64 char sep=new DecimalFormatSymbols().getDecimalSeparator();
65 String val="1"+sep+"1";
66 assertEquals(1.1, converter.convert(Double.class, val, "0.0"));
67 assertEquals(new Float(1.1), converter.convert(Float.class, val, "0.0"));
68 assertEquals(new Double(1.1), converter.convert(Double.class, val, "0.0"));
69 }
70
71 }