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.List;
08: import java.util.Locale;
09:
10: import org.vraptor.AbstractTest;
11: import org.vraptor.LogicRequest;
12: import org.vraptor.converter.basic.LocaleCalendarDateConverter;
13:
14: public class LocaleCalendarDateConverterTest extends AbstractTest {
15:
16: public void testCanConvert() {
17: List<Class<?>> list = Arrays
18: .asList(new LocaleCalendarDateConverter()
19: .getSupportedTypes());
20: assertTrue(list.contains(Calendar.class));
21: assertTrue(list.contains(Date.class));
22: }
23:
24: public void testConvertsValidString() throws ConversionException {
25: LogicRequest context = getSetContext();
26: GregorianCalendar calendar = new GregorianCalendar(1970, 0, 1);
27: assertEquals(calendar, new LocaleCalendarDateConverter()
28: .convert("1/1/1970", Calendar.class, context));
29: }
30:
31: public void testConvertsNullStringToNull()
32: throws ConversionException {
33: LogicRequest context = getSetContext();
34: assertNull(new LocaleCalendarDateConverter().convert(null,
35: Calendar.class, context));
36: }
37:
38: private LogicRequest getSetContext() {
39: LogicRequest context = createLogicRequest();
40: context.getSessionContext().setAttribute(
41: "javax.servlet.jsp.jstl.fmt.locale.session",
42: Locale.ENGLISH);
43: return context;
44: }
45:
46: public void testConvertionError() {
47: LogicRequest context = getSetContext();
48: try {
49: new LocaleCalendarDateConverter().convert("XX:YY",
50: Calendar.class, context);
51: fail();
52: } catch (ConversionException e) {
53: // ok
54: }
55: }
56:
57: public void testConvertsValidStringWithDate()
58: throws ConversionException {
59: LogicRequest context = getSetContext();
60: Date calendar = new GregorianCalendar(1970, 0, 1).getTime();
61: assertEquals(calendar, new LocaleCalendarDateConverter()
62: .convert("1/1/1970", Date.class, context));
63: }
64:
65: public void testConvertsNullStringToNullWithDate()
66: throws ConversionException {
67: LogicRequest context = getSetContext();
68: assertNull(new LocaleCalendarDateConverter().convert(null,
69: Date.class, context));
70: }
71:
72: public void testConvertionErrorWithDate() {
73: LogicRequest context = getSetContext();
74: try {
75: new LocaleCalendarDateConverter().convert("XX:YY",
76: Date.class, context);
77: fail();
78: } catch (ConversionException e) {
79: // ok
80: }
81: }
82: }
|