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.Time;
21 import java.util.Calendar;
22 import java.util.Locale;
23
24 import junit.framework.TestSuite;
25
26
27
28
29
30
31
32 public class SqlTimeConverterTestCase extends DateConverterTestBase {
33
34
35
36
37
38 public SqlTimeConverterTestCase(final String name) {
39 super(name);
40 }
41
42
43
44
45
46
47
48 public static TestSuite suite() {
49 return new TestSuite(SqlTimeConverterTestCase.class);
50 }
51
52
53
54
55
56
57 @Override
58 public void testLocale() {
59
60
61 final Locale defaultLocale = Locale.getDefault();
62 Locale.setDefault(Locale.US);
63
64 final String pattern = "h:mm a";
65
66
67 final DateTimeConverter converter = makeConverter();
68 converter.setUseLocaleFormat(true);
69
70
71 final String testString = "3:06 pm";
72 final Object expected = toType(testString, pattern, null);
73 validConversion(converter, expected, testString);
74
75
76 invalidConversion(converter, null);
77 invalidConversion(converter, "");
78 invalidConversion(converter, "13:05");
79 invalidConversion(converter, "11:05 p");
80 invalidConversion(converter, "11.05 pm");
81 invalidConversion(converter, new Integer(2));
82
83
84 converter.setLocale(Locale.UK);
85 invalidConversion(converter, testString);
86 validConversion(converter, expected, "15:06");
87
88
89 Locale.setDefault(defaultLocale);
90
91 }
92
93
94
95
96 @Override
97 public void testDefaultStringToTypeConvert() {
98
99
100 final DateTimeConverter converter = makeConverter();
101 converter.setUseLocaleFormat(false);
102
103
104 final String testString = "15:36:21";
105 final Object expected = toType(testString, "HH:mm:ss", null);
106 validConversion(converter, expected, testString);
107
108
109 invalidConversion(converter, "15:36");
110
111 }
112
113
114
115
116
117 @Override
118 protected DateTimeConverter makeConverter() {
119 return new SqlTimeConverter();
120 }
121
122
123
124
125
126
127 @Override
128 protected DateTimeConverter makeConverter(final Object defaultValue) {
129 return new SqlTimeConverter(defaultValue);
130 }
131
132
133
134
135
136 @Override
137 protected Class<?> getExpectedType() {
138 return Time.class;
139 }
140
141
142
143
144
145
146
147 @Override
148 protected Object toType(final Calendar value) {
149 return new Time(getTimeInMillis(value));
150 }
151
152 }