/** * Copyright (c) 2012 Todoroo Inc * * See the file "LICENSE" for the full license governing this code. */ package com.todoroo.andlib.utility; import java.text.ParseException; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; import com.todoroo.andlib.test.TodorooTestCase; public class DateUtilitiesTest extends TodorooTestCase { public void set24Hour(boolean is24) { DateUtilities.is24HourOverride = is24; } public void testTimeString() { forEachLocale(new Runnable() { public void run() { Date d = new Date(); set24Hour(false); for(int i = 0; i < 24; i++) { d.setHours(i); DateUtilities.getTimeString(getContext(), d); } set24Hour(true); for(int i = 0; i < 24; i++) { d.setHours(i); DateUtilities.getTimeString(getContext(), d); } } }); } public void testDateString() { forEachLocale(new Runnable() { public void run() { Date d = new Date(); for(int i = 0; i < 12; i++) { d.setMonth(i); DateUtilities.getDateString(getContext(), d); } } }); } public void testWeekdayString() { forEachLocale(new Runnable() { public void run() { Date d = new Date(); for(int i = 0; i < 7; i++) { d.setDate(i); DateUtilities.getDateStringWithWeekday(getContext(), d); } } }); } public void testParseISO8601() { String withTime = "2013-01-28T13:17:02+00:00"; long date; Calendar cal = Calendar.getInstance(); try { date = DateUtilities.parseIso8601(withTime); cal.setTimeInMillis(date); cal.setTimeZone(TimeZone.getTimeZone("UTC")); } catch (ParseException e) { e.printStackTrace(); fail("Parse exception"); } assertEquals(2013, cal.get(Calendar.YEAR)); assertEquals(0, cal.get(Calendar.MONTH)); assertEquals(28, cal.get(Calendar.DATE)); assertEquals(13, cal.get(Calendar.HOUR_OF_DAY)); assertEquals(17, cal.get(Calendar.MINUTE)); assertEquals(2, cal.get(Calendar.SECOND)); } public void testParseISO8601NoTime() { String withTime = "2013-01-28"; long date; Calendar cal = Calendar.getInstance(); try { date = DateUtilities.parseIso8601(withTime); cal.setTimeInMillis(date); } catch (ParseException e) { e.printStackTrace(); fail("Parse exception"); } assertEquals(2013, cal.get(Calendar.YEAR)); assertEquals(0, cal.get(Calendar.MONTH)); assertEquals(28, cal.get(Calendar.DATE)); assertEquals(0, cal.get(Calendar.HOUR_OF_DAY)); assertEquals(0, cal.get(Calendar.MINUTE)); assertEquals(0, cal.get(Calendar.SECOND)); } }