1   package org.seasar.cubby.action.impl;
2   
3   import static java.util.Calendar.SEPTEMBER;
4   
5   import java.sql.Time;
6   import java.sql.Timestamp;
7   import java.text.DateFormat;
8   import java.util.Calendar;
9   import java.util.Date;
10  
11  import org.seasar.cubby.action.FormatPattern;
12  import org.seasar.extension.unit.S2TestCase;
13  
14  public class FormatPatternImplTest extends S2TestCase {
15  
16  	private FormatPattern formatPattern;
17  
18  	@Override
19  	protected void setUp() throws Exception {
20  		include(this.getClass().getName().replaceAll("\\.", "/") + ".dicon");
21  	}
22  
23  	public void testDefaultPattern() {
24  		FormatPattern formatPattern = new FormatPatternImpl();
25  		assertEquals("yyyy-MM-dd", formatPattern.getDatePattern());
26  		assertEquals("HH:mm:ss", formatPattern.getTimePattern());
27  		assertEquals("yyyy-MM-dd HH:mm:ss", formatPattern.getTimestampPattern());
28  	}
29  
30  	public void testDate() {
31  		Calendar calendar = Calendar.getInstance();
32  		calendar.set(2007, Calendar.SEPTEMBER, 2);
33  		Date date = new Date(calendar.getTimeInMillis());
34  
35  		String pattern = formatPattern.getDatePattern();
36  		System.out.println(pattern);
37  		assertEquals("yyyy-MM-dd", pattern);
38  
39  		DateFormat dateFormat = formatPattern.getDateFormat();
40  		String actual = dateFormat.format(date);
41  		System.out.println(actual);
42  		assertEquals("2007-09-02", actual);
43  	}
44  
45  	public void testSqlDate() {
46  		Calendar calendar = Calendar.getInstance();
47  		calendar.set(2007, SEPTEMBER, 2);
48  		java.sql.Date date = new java.sql.Date(calendar.getTimeInMillis());
49  
50  		String pattern = formatPattern.getDatePattern();
51  		System.out.println(pattern);
52  		assertEquals("yyyy-MM-dd", pattern);
53  
54  		DateFormat dateFormat = formatPattern.getDateFormat();
55  		String actual = dateFormat.format(date);
56  		System.out.println(actual);
57  		assertEquals("2007-09-02", actual);
58  	}
59  
60  	public void testTime() {
61  		Calendar calendar = Calendar.getInstance();
62  		calendar.set(2007, SEPTEMBER, 2, 8, 5, 6);
63  		Time time = new Time(calendar.getTimeInMillis());
64  
65  		String pattern = formatPattern.getTimePattern();
66  		System.out.println(pattern);
67  		assertEquals("HH:mm:ss", pattern);
68  
69  		DateFormat dateFormat = formatPattern.getTimeFormat();
70  		String actual = dateFormat.format(time);
71  		System.out.println(actual);
72  		assertEquals("08:05:06", actual);
73  	}
74  
75  	public void testTime2() {
76  		Calendar calendar = Calendar.getInstance();
77  		calendar.set(2007, SEPTEMBER, 2, 18, 5, 6);
78  		Time time = new Time(calendar.getTimeInMillis());
79  
80  		String pattern = formatPattern.getTimePattern();
81  		System.out.println(pattern);
82  		assertEquals("HH:mm:ss", pattern);
83  
84  		DateFormat dateFormat = formatPattern.getTimeFormat();
85  		String actual = dateFormat.format(time);
86  		System.out.println(actual);
87  		assertEquals("18:05:06", actual);
88  	}
89  
90  	public void testTimestamp() {
91  		Calendar calendar = Calendar.getInstance();
92  		calendar.set(2007, SEPTEMBER, 2, 8, 5, 6);
93  		Timestamp timestamp = new Timestamp(calendar.getTimeInMillis());
94  
95  		String pattern = formatPattern.getTimestampPattern();
96  		System.out.println(pattern);
97  		assertEquals("yyyy-MM-dd HH:mm:ss", pattern);
98  
99  		DateFormat dateFormat = formatPattern.getTimestampFormat();
100 		String actual = dateFormat.format(timestamp);
101 		System.out.println(actual);
102 		assertEquals("2007-09-02 08:05:06", actual);
103 	}
104 
105 }