1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.beanutils.converters;
19
20 import java.sql.Date;
21 import java.util.Calendar;
22
23 import junit.framework.TestSuite;
24
25 /***
26 * Test Case for the {@link SqlDateConverter} class.
27 *
28 * @version $Revision: 471689 $ $Date: 2006-11-06 10:52:49 +0000 (Mon, 06 Nov 2006) $
29 */
30
31 public class SqlDateConverterTestCase extends DateConverterTestBase {
32
33 /***
34 * Construct a new Date test case.
35 * @param name Test Name
36 */
37 public SqlDateConverterTestCase(String name) {
38 super(name);
39 }
40
41
42
43 /***
44 * Create Test Suite
45 * @return test suite
46 */
47 public static TestSuite suite() {
48 return new TestSuite(SqlDateConverterTestCase.class);
49 }
50
51
52
53 /***
54 * Test default String to java.sql.Date conversion
55 */
56 public void testDefaultStringToTypeConvert() {
57
58
59 DateTimeConverter converter = makeConverter();
60 converter.setUseLocaleFormat(false);
61
62
63 String testString = "2006-05-16";
64 Object expected = toType(testString, "yyyy-MM-dd", null);
65 validConversion(converter, expected, testString);
66
67
68 invalidConversion(converter, "01/01/2006");
69 }
70
71 /***
72 * Test default java.sql.Date to String conversion
73 */
74 public void testDefaultTypeToStringConvert() {
75
76
77 DateTimeConverter converter = makeConverter();
78 converter.setUseLocaleFormat(false);
79
80
81 String expected = "2006-05-16";
82 Object testVal = toType(expected, "yyyy-MM-dd", null);
83 stringConversion(converter, expected, testVal);
84
85 Object result = converter.convert(String.class, new Integer(2));
86 assertEquals("Default toString()", "2", result);
87 }
88
89 /***
90 * Create the Converter with no default value.
91 * @return A new Converter
92 */
93 protected DateTimeConverter makeConverter() {
94 return new SqlDateConverter();
95 }
96
97 /***
98 * Create the Converter with a default value.
99 * @param defaultValue The default value
100 * @return A new Converter
101 */
102 protected DateTimeConverter makeConverter(Object defaultValue) {
103 return new SqlDateConverter(defaultValue);
104 }
105
106 /***
107 * Return the expected type
108 * @return The expected type
109 */
110 protected Class getExpectedType() {
111 return Date.class;
112 }
113
114 /***
115 * Convert from a Calendar to the appropriate Date type
116 *
117 * @param value The Calendar value to convert
118 * @return The converted value
119 */
120 protected Object toType(Calendar value) {
121 return new java.sql.Date(getTimeInMillis(value));
122 }
123
124 }