1 package org.appfuse.util; 2 3 import java.sql.Timestamp ; 4 import java.util.ArrayList ; 5 import java.util.Calendar ; 6 import java.util.Date ; 7 import java.util.GregorianCalendar ; 8 import java.util.Iterator ; 9 import java.util.List ; 10 import java.util.Locale ; 11 12 import org.springframework.context.i18n.LocaleContextHolder; 13 14 import junit.framework.TestCase; 15 16 public class DateConverterTest extends TestCase { 17 private DateConverter converter = new DateConverter(); 18 19 public void testInternationalization() throws Exception { 20 List locales = new ArrayList () { 21 private static final long serialVersionUID = 1L; 22 { 23 add(Locale.US); 24 add(Locale.GERMANY); 25 add(Locale.FRANCE); 26 add(Locale.CHINA); 27 add(Locale.ITALY); 28 } 29 }; 30 for (Iterator localeIter = locales.iterator(); localeIter.hasNext();) { 31 Locale locale = (Locale ) localeIter.next(); 32 LocaleContextHolder.setLocale(locale); 33 testConvertStringToDate(); 34 testConvertDateToString(); 35 testConvertStringToTimestamp(); 36 testConvertTimestampToString(); 37 } 38 } 39 40 public void testConvertStringToDate() throws Exception { 41 Date today = new Date (); 42 Calendar todayCalendar = new GregorianCalendar (); 43 todayCalendar.setTime(today); 44 String datePart = DateUtil.convertDateToString(today); 45 46 Date date = (Date ) converter.convert(Date .class, datePart); 47 48 Calendar cal = new GregorianCalendar (); 49 cal.setTime(date); 50 assertEquals(todayCalendar.get(Calendar.YEAR), cal.get(Calendar.YEAR)); 51 assertEquals(todayCalendar.get(Calendar.MONTH), cal.get(Calendar.MONTH)); 52 assertEquals(todayCalendar.get(Calendar.DAY_OF_MONTH), cal.get(Calendar.DAY_OF_MONTH)); 53 } 54 55 public void testConvertDateToString() throws Exception { 56 Calendar cal = new GregorianCalendar (2005, 00, 16); 57 String date = (String ) converter.convert(String .class, cal.getTime()); 58 assertEquals(DateUtil.convertDateToString(cal.getTime()), date); 59 } 60 61 public void testConvertStringToTimestamp() throws Exception { 62 Date today = new Date (); 63 Calendar todayCalendar = new GregorianCalendar (); 64 todayCalendar.setTime(today); 65 String datePart = DateUtil.convertDateToString(today); 66 67 Timestamp time = (Timestamp ) converter.convert(Timestamp .class, datePart + " 01:02:03.4"); 68 Calendar cal = new GregorianCalendar (); 69 cal.setTimeInMillis(time.getTime()); 70 assertEquals(todayCalendar.get(Calendar.YEAR), cal.get(Calendar.YEAR)); 71 assertEquals(todayCalendar.get(Calendar.MONTH), cal.get(Calendar.MONTH)); 72 assertEquals(todayCalendar.get(Calendar.DAY_OF_MONTH), cal.get(Calendar.DAY_OF_MONTH)); 73 } 74 75 public void testConvertTimestampToString() throws Exception { 76 Timestamp timestamp = Timestamp.valueOf("2005-03-10 01:02:03.4"); 77 String time = (String ) converter.convert(String .class, timestamp); 78 assertEquals(DateUtil.getDateTime(DateUtil.getDateTimePattern(), timestamp), time); 79 } 80 81 } 82 | Popular Tags |