01: package org.vraptor.converter;
02:
03: import java.util.Arrays;
04: import java.util.Calendar;
05: import java.util.Date;
06: import java.util.GregorianCalendar;
07: import java.util.Locale;
08:
09: import org.vraptor.AbstractTest;
10: import org.vraptor.LogicRequest;
11:
12: public class LocaleCalendarTimeConverterTest extends AbstractTest {
13:
14: public void testCanConvert() {
15: assertTrue(Arrays.deepEquals(new LocaleCalendarTimeConverter()
16: .getSupportedTypes(), new Class[] { Calendar.class,
17: Date.class }));
18: }
19:
20: public void testConvertToCalendar() throws ConversionException {
21: LogicRequest context = getSetContext();
22: GregorianCalendar calendar = new GregorianCalendar(1970, 0, 1,
23: 11, 22);
24: assertEquals(calendar, new LocaleCalendarTimeConverter()
25: .convert("11:22 am", Calendar.class, context));
26: }
27:
28: public void testConvertToDate() throws ConversionException {
29: LogicRequest context = getSetContext();
30: Date date = new GregorianCalendar(1970, 0, 1, 11, 22).getTime();
31: assertEquals(date, new LocaleCalendarTimeConverter().convert(
32: "11:22 am", Date.class, context));
33: }
34:
35: public void testConvertsNullStringToNull()
36: throws ConversionException {
37: LogicRequest context = getSetContext();
38: assertNull(new LocaleCalendarTimeConverter().convert(null,
39: Calendar.class, context));
40: }
41:
42: public void testConvertsNullStringToNullDate()
43: throws ConversionException {
44: LogicRequest context = getSetContext();
45: assertNull(new LocaleCalendarTimeConverter().convert(null,
46: Date.class, context));
47: }
48:
49: private LogicRequest getSetContext() {
50: LogicRequest context = createLogicRequest();
51: context.getSessionContext().setAttribute(
52: "javax.servlet.jsp.jstl.fmt.locale.session",
53: Locale.ENGLISH);
54: return context;
55: }
56:
57: public void testConvertionError() {
58: LogicRequest context = getSetContext();
59: try {
60: new LocaleCalendarTimeConverter().convert("XX:YY",
61: Calendar.class, context);
62: fail();
63: } catch (ConversionException e) {
64: // ok
65: }
66: }
67: }
|