/*
* Copyright (C) 2003-2011 eXo Platform SAS.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see<http://www.gnu.org/licenses/>.
*/
package org.exoplatform.forum;
import java.util.Calendar;
import java.util.Locale;
import junit.framework.TestCase;
/**
* Created by The eXo Platform SAS
* Author : Vu Duy Tu
* tu.duy@exoplatform.com
* Jul 5, 2011
*/
public class TestTimeConvertUtils extends TestCase {
public TestTimeConvertUtils() throws Exception {
super();
}
public void testConvertDateTime() throws Exception {
long timeNow = TimeConvertUtils.getInstanceTempCalendar().getTimeInMillis();
Calendar calendar = Calendar.getInstance();
long day = 24 * 60 * 60 * 1000;
// test for 1 year ago
calendar.setTimeInMillis(timeNow - 366 * day);
assertEquals("1 YEAR", TimeConvertUtils.convertDateTime(calendar.getTime()));
// test for 2 years ago
calendar.setTimeInMillis(timeNow - 2 * 366 * day);
assertEquals("2 YEARS", TimeConvertUtils.convertDateTime(calendar.getTime()));
// test for 1 month ago
calendar.setTimeInMillis(timeNow - 31 * day);
assertEquals("1 MONTH", TimeConvertUtils.convertDateTime(calendar.getTime()));
// test for 2 months ago
calendar.setTimeInMillis(timeNow - (2 * 31 * day));
assertEquals("2 MONTHS", TimeConvertUtils.convertDateTime(calendar.getTime()));
// test for 1 week ago
calendar.setTimeInMillis(timeNow - 7 * day);
assertEquals("1 WEEK", TimeConvertUtils.convertDateTime(calendar.getTime()));
// test for 2 weeks ago
calendar.setTimeInMillis(timeNow - 2 * 7 * day);
assertEquals("2 WEEKS", TimeConvertUtils.convertDateTime(calendar.getTime()));
// test for 1 day ago
calendar.setTimeInMillis(timeNow - day);
assertEquals("1 DAY", TimeConvertUtils.convertDateTime(calendar.getTime()));
// test for 2 days ago
calendar.setTimeInMillis(timeNow - 2 * day);
assertEquals("2 DAYS", TimeConvertUtils.convertDateTime(calendar.getTime()));
// test for 1 hour ago
calendar.setTimeInMillis(timeNow - 60 * 60 * 1000);
assertEquals("1 HOUR", TimeConvertUtils.convertDateTime(calendar.getTime()));
// test for 2 hours ago
calendar.setTimeInMillis(timeNow - 2 * 60 * 60 * 1000);
assertEquals("2 HOURS", TimeConvertUtils.convertDateTime(calendar.getTime()));
// test for 1 minute ago
calendar.setTimeInMillis(timeNow - 60 * 1000);
assertEquals("1 MINUTE", TimeConvertUtils.convertDateTime(calendar.getTime()));
// test for 2 minute ago
calendar.setTimeInMillis(timeNow - 2 * 60 * 1000);
assertEquals("2 MINUTES", TimeConvertUtils.convertDateTime(calendar.getTime()));
// test for less than 1 minute ago
calendar.setTimeInMillis(timeNow - 59 * 1000);
assertEquals("JUSTNOW", TimeConvertUtils.convertDateTime(calendar.getTime()));
}
public void testConvertDateTimeResourceBundle() {
// Can not test this function because: can not get resource bundle from test case.
}
public void testGetFormatDate() {
// Can not test this function because: can not get resource bundle from test case.
}
public void testGetFormatDateLocale() {
Locale locale = new Locale(Locale.ENGLISH.getLanguage(), Locale.UK.getCountry());
Calendar calendar = Calendar.getInstance();
// set date time: 28/08/2011 at 15h 30m
calendar.set(2011, 07, 28, 15, 30);
assertEquals("", TimeConvertUtils.getFormatDateLocale("M-d-yyyy", null, locale));
assertEquals("", TimeConvertUtils.getFormatDateLocale("", calendar.getTime(), locale));
assertEquals("8-28-2011", TimeConvertUtils.getFormatDateLocale("M-d-yyyy", calendar.getTime(), locale));
assertEquals("8-28-11", TimeConvertUtils.getFormatDateLocale("M-d-yy", calendar.getTime(), locale));
assertEquals("08-28-11", TimeConvertUtils.getFormatDateLocale("MM-dd-yy", calendar.getTime(), locale));
assertEquals("08-28-2011", TimeConvertUtils.getFormatDateLocale("MM-dd-yyyy", calendar.getTime(), locale));
assertEquals("2011-08-28", TimeConvertUtils.getFormatDateLocale("yyyy-MM-dd", calendar.getTime(), locale));
assertEquals("11-08-28", TimeConvertUtils.getFormatDateLocale("yy-MM-dd", calendar.getTime(), locale));
assertEquals("28-08-2011", TimeConvertUtils.getFormatDateLocale("dd-MM-yyyy", calendar.getTime(), locale));
assertEquals("28-08-11", TimeConvertUtils.getFormatDateLocale("dd-MM-yy", calendar.getTime(), locale));
assertEquals("8/28/2011", TimeConvertUtils.getFormatDateLocale("M/d/yyyy", calendar.getTime(), locale));
assertEquals("8/28/11", TimeConvertUtils.getFormatDateLocale("M/d/yy", calendar.getTime(), locale));
assertEquals("08/28/11", TimeConvertUtils.getFormatDateLocale("MM/dd/yy", calendar.getTime(), locale));
assertEquals("08/28/2011", TimeConvertUtils.getFormatDateLocale("MM/dd/yyyy", calendar.getTime(), locale));
assertEquals("2011/08/28", TimeConvertUtils.getFormatDateLocale("yyyy/MM/dd", calendar.getTime(), locale));
assertEquals("11/08/28", TimeConvertUtils.getFormatDateLocale("yy/MM/dd", calendar.getTime(), locale));
assertEquals("28/08/2011", TimeConvertUtils.getFormatDateLocale("dd/MM/yyyy", calendar.getTime(), locale));
assertEquals("28/08/11", TimeConvertUtils.getFormatDateLocale("dd/MM/yy", calendar.getTime(), locale));
assertEquals("Sun, August 28, 2011", TimeConvertUtils.getFormatDateLocale("DDD, MMMM dd, yyyy", calendar.getTime(), locale));
assertEquals("Sunday, August 28, 2011", TimeConvertUtils.getFormatDateLocale("DDDD, MMMM dd, yyyy", calendar.getTime(), locale));
assertEquals("Sunday, 28 August, 2011", TimeConvertUtils.getFormatDateLocale("DDDD, dd MMMM, yyyy", calendar.getTime(), locale));
assertEquals("Sun, Aug 28, 2011", TimeConvertUtils.getFormatDateLocale("DDD, MMM dd, yyyy", calendar.getTime(), locale));
assertEquals("Sunday, Aug 28, 2011", TimeConvertUtils.getFormatDateLocale("DDDD, MMM dd, yyyy", calendar.getTime(), locale));
assertEquals("Sunday, 28 Aug, 2011", TimeConvertUtils.getFormatDateLocale("DDDD, dd MMM, yyyy", calendar.getTime(), locale));
assertEquals("August 28, 2011", TimeConvertUtils.getFormatDateLocale("MMMM dd, yyyy", calendar.getTime(), locale));
assertEquals("28 August, 2011", TimeConvertUtils.getFormatDateLocale("dd MMMM, yyyy", calendar.getTime(), locale));
assertEquals("Aug 28, 2011", TimeConvertUtils.getFormatDateLocale("MMM dd, yyyy", calendar.getTime(), locale));
assertEquals("28 Aug, 2011", TimeConvertUtils.getFormatDateLocale("dd MMM, yyyy", calendar.getTime(), locale));
assertEquals("28 Aug, 2011, 03:30 PM", TimeConvertUtils.getFormatDateLocale("dd MMM, yyyy, hh:mm a", calendar.getTime(), locale));
assertEquals("28 Aug, 2011, 15:30", TimeConvertUtils.getFormatDateLocale("dd MMM, yyyy, HH:mm", calendar.getTime(), locale));
}
}