diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:32:18 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:32:18 -0800 |
commit | 146de36083f6ce8b7e8a1f974d3990594a36bfec (patch) | |
tree | 26291db8f35326f89276b7f51dda5b5b4e78f070 /tests/src | |
parent | 2cb8df4a54d65554c34faa79d8b2a46a86ff7b52 (diff) | |
download | android_packages_apps_Calendar-146de36083f6ce8b7e8a1f974d3990594a36bfec.tar.gz android_packages_apps_Calendar-146de36083f6ce8b7e8a1f974d3990594a36bfec.tar.bz2 android_packages_apps_Calendar-146de36083f6ce8b7e8a1f974d3990594a36bfec.zip |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'tests/src')
4 files changed, 527 insertions, 0 deletions
diff --git a/tests/src/com/android/calendar/CalendarLaunchPerformance.java b/tests/src/com/android/calendar/CalendarLaunchPerformance.java new file mode 100644 index 00000000..975f6aff --- /dev/null +++ b/tests/src/com/android/calendar/CalendarLaunchPerformance.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2007 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.calendar.tests; + +import android.app.Activity; +import android.test.LaunchPerformanceBase; +import android.os.Bundle; + +import java.util.Map; + +/** + * Instrumentation class for Browser launch performance testing. + */ +public class CalendarLaunchPerformance extends LaunchPerformanceBase { + + public static final String LOG_TAG = "CalendarLaunchPerformance"; + + public CalendarLaunchPerformance() { + super(); + } + + @Override + public void onCreate(Bundle arguments) { + super.onCreate(arguments); + + mIntent.setClassName(getTargetContext(), "com.android.calendar.LaunchActivity"); + start(); + } + + /** + * Calls LaunchApp and finish. + */ + @Override + public void onStart() { + super.onStart(); + LaunchApp(); + finish(Activity.RESULT_OK, mResults); + } +} diff --git a/tests/src/com/android/calendar/CalendarTests.java b/tests/src/com/android/calendar/CalendarTests.java new file mode 100644 index 00000000..222a64a8 --- /dev/null +++ b/tests/src/com/android/calendar/CalendarTests.java @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2007 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.calendar; + +import android.test.TestBrowserActivity; +import junit.framework.TestSuite; + + +/** + * Unit tests for com.android.calendar. + */ +public class CalendarTests extends TestBrowserActivity { + + @Override + public final TestSuite getTopTestSuite() { + return suite(); + } + + public static TestSuite suite() { + TestSuite suite = new TestSuite(CalendarTests.class.getName()); + suite.addTestSuite(FormatDateRangeTest.class); + suite.addTestSuite(WeekNumberTest.class); + return suite; + } +} diff --git a/tests/src/com/android/calendar/FormatDateRangeTest.java b/tests/src/com/android/calendar/FormatDateRangeTest.java new file mode 100644 index 00000000..6f0d775d --- /dev/null +++ b/tests/src/com/android/calendar/FormatDateRangeTest.java @@ -0,0 +1,202 @@ +/* + * Copyright (C) 2007 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.calendar; + +import android.content.res.Resources; +import android.text.format.DateUtils; +import android.text.format.Time; +import android.test.AndroidTestCase; +import android.test.suitebuilder.annotation.MediumTest; +import android.util.Log; + +import java.util.Calendar; + +/** + * Unit tests for {@link android.text.format.DateUtils#formatDateRange}. + */ +public class FormatDateRangeTest extends AndroidTestCase { + + private class DateTest { + public Time date1; + public Time date2; + public int flags; + public String expectedOutput; + + public DateTest(int year1, int month1, int day1, int hour1, int minute1, + int year2, int month2, int day2, int hour2, int minute2, + int flags, String output) { + if ((flags & DateUtils.FORMAT_UTC) != 0) { + date1 = new Time(Time.TIMEZONE_UTC); + date2 = new Time(Time.TIMEZONE_UTC); + } else { + date1 = new Time(); + date2 = new Time(); + } + + // If the year is zero, then set it to the current year. + if (year1 == 0 && year2 == 0) { + date1.set(System.currentTimeMillis()); + year1 = year2 = date1.year; + } + + date1.set(0, minute1, hour1, day1, month1, year1); + date1.normalize(true /* ignore isDst */); + + date2.set(0, minute2, hour2, day2, month2, year2); + date2.normalize(true /* ignore isDst */); + + this.flags = flags; + expectedOutput = output; + } + + // Single point in time. (not a range) + public DateTest(int year1, int month1, int day1, int hour1, int minute1, + int flags, String output) { + this(year1, month1, day1, hour1, minute1, + year1, month1, day1, hour1, minute1, + flags, output); + } + } + + private Resources mResources; + + DateTest[] tests = { + new DateTest(0, 10, 9, 8, 0, 0, 10, 9, 11, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL, "8am \u2013 11am"), + new DateTest(0, 10, 9, 8, 0, 0, 10, 9, 11, 0, + DateUtils.FORMAT_SHOW_TIME, "8:00am \u2013 11:00am"), + new DateTest(0, 10, 9, 8, 0, 0, 10, 9, 17, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_24HOUR, "08:00 \u2013 17:00"), + new DateTest(0, 10, 9, 8, 0, 0, 10, 9, 12, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL, "8am \u2013 noon"), + new DateTest(0, 10, 9, 8, 0, 0, 10, 9, 12, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_NO_NOON | DateUtils.FORMAT_ABBREV_ALL, + "8am \u2013 12pm"), + new DateTest(0, 10, 9, 8, 0, 0, 10, 9, 12, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_CAP_NOON | DateUtils.FORMAT_ABBREV_ALL, + "8am \u2013 Noon"), + new DateTest(0, 10, 9, 10, 30, 0, 10, 9, 13, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL, "10:30am \u2013 1pm"), + new DateTest(0, 10, 9, 13, 0, 0, 10, 9, 14, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL, "1pm \u2013 2pm"), + new DateTest(0, 10, 9, 0, 0, 0, 10, 9, 14, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL, "12am \u2013 2pm"), + new DateTest(0, 10, 9, 20, 0, 0, 10, 10, 0, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL, "8pm \u2013 midnight"), + new DateTest(0, 10, 10, 0, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL, "12am"), + new DateTest(0, 10, 9, 20, 0, 0, 10, 10, 0, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_24HOUR | DateUtils.FORMAT_ABBREV_ALL, + "20:00 \u2013 00:00"), + new DateTest(0, 10, 10, 0, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_24HOUR | DateUtils.FORMAT_ABBREV_ALL, + "00:00"), + new DateTest(0, 10, 9, 20, 0, 0, 10, 10, 0, 0, + DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_ABBREV_ALL, "Nov 9"), + new DateTest(0, 10, 10, 0, 0, 0, 10, 10, 0, 0, + DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_ABBREV_ALL, "Nov 10"), + new DateTest(0, 10, 9, 20, 0, 0, 10, 10, 0, 0, + DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_24HOUR | DateUtils.FORMAT_ABBREV_ALL, + "Nov 9"), + new DateTest(0, 10, 10, 0, 0, + DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_24HOUR | DateUtils.FORMAT_ABBREV_ALL, + "Nov 10"), + new DateTest(0, 10, 9, 20, 0, 0, 10, 10, 0, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_NO_MIDNIGHT | DateUtils.FORMAT_ABBREV_ALL, + "8pm \u2013 12am"), + new DateTest(0, 10, 9, 20, 0, 0, 10, 10, 0, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_CAP_MIDNIGHT | DateUtils.FORMAT_ABBREV_ALL, + "8pm \u2013 Midnight"), + new DateTest(0, 10, 9, 0, 0, 0, 10, 10, 0, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL, "12am \u2013 midnight"), + new DateTest(0, 10, 9, 0, 0, 0, 10, 10, 0, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_24HOUR | DateUtils.FORMAT_ABBREV_ALL, + "00:00 \u2013 00:00"), + new DateTest(0, 10, 9, 0, 0, 0, 10, 10, 0, 0, + DateUtils.FORMAT_UTC | DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_ABBREV_ALL, "Nov 9"), + new DateTest(0, 10, 9, 0, 0, 0, 10, 10, 0, 0, + DateUtils.FORMAT_UTC | DateUtils.FORMAT_ABBREV_ALL, "Nov 9"), + new DateTest(0, 10, 9, 0, 0, 0, 10, 10, 0, 0, + DateUtils.FORMAT_UTC, "November 9"), + new DateTest(0, 10, 8, 0, 0, 0, 10, 10, 0, 0, + DateUtils.FORMAT_UTC | DateUtils.FORMAT_ABBREV_ALL, "Nov 8 \u2013 9"), + new DateTest(0, 10, 9, 0, 0, 0, 10, 11, 0, 0, + DateUtils.FORMAT_UTC | DateUtils.FORMAT_ABBREV_ALL, "Nov 9 \u2013 10"), + new DateTest(0, 10, 9, 8, 0, 0, 10, 11, 17, 0, + DateUtils.FORMAT_UTC | DateUtils.FORMAT_ABBREV_ALL, "Nov 9 \u2013 11"), + new DateTest(0, 9, 29, 8, 0, 0, 10, 3, 17, 0, + DateUtils.FORMAT_UTC | DateUtils.FORMAT_ABBREV_ALL, "Oct 29 \u2013 Nov 3"), + new DateTest(2007, 11, 29, 8, 0, 2008, 0, 2, 17, 0, + DateUtils.FORMAT_UTC | DateUtils.FORMAT_ABBREV_ALL, "Dec 29, 2007 \u2013 Jan 2, 2008"), + new DateTest(2007, 11, 29, 0, 0, 2008, 0, 2, 0, 0, + DateUtils.FORMAT_UTC | DateUtils.FORMAT_ABBREV_ALL, "Dec 29, 2007 \u2013 Jan 1, 2008"), + new DateTest(2007, 11, 29, 8, 0, 2008, 0, 2, 17, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL, + "Dec 29, 2007, 8am \u2013 Jan 2, 2008, 5pm"), + new DateTest(0, 10, 9, 8, 0, 0, 10, 11, 17, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL, + "Nov 9, 8am \u2013 Nov 11, 5pm"), + new DateTest(2007, 10, 9, 8, 0, 2007, 10, 11, 17, 0, + DateUtils.FORMAT_SHOW_WEEKDAY | DateUtils.FORMAT_ABBREV_ALL, + "Fri, Nov 9, 2007 \u2013 Sun, Nov 11, 2007"), + new DateTest(2007, 10, 9, 8, 0, 2007, 10, 11, 17, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_WEEKDAY | DateUtils.FORMAT_ABBREV_ALL, + "Fri, Nov 9, 2007, 8am \u2013 Sun, Nov 11, 2007, 5pm"), + new DateTest(2007, 11, 3, 13, 0, 2007, 11, 3, 14, 0, + DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR, + "1:00pm \u2013 2:00pm, December 3, 2007"), + // Tests that FORMAT_SHOW_YEAR takes precedence over FORMAT_NO_YEAR: + new DateTest(2007, 11, 3, 13, 0, 2007, 11, 3, 13, 0, + DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_NO_YEAR, + "December 3, 2007"), + // Tests that year isn't shown by default with no year flags when time is the current year: + new DateTest( + Calendar.getInstance().get(Calendar.YEAR), 0, 3, 13, 0, + DateUtils.FORMAT_SHOW_DATE, + "January 3"), + // Tests that the year is shown by default with no year flags when time isn't the current year: + new DateTest( + Calendar.getInstance().get(Calendar.YEAR) - 1, 0, 3, 13, 0, + DateUtils.FORMAT_SHOW_DATE, + "January 3, 2008"), + }; + + @Override + protected void setUp() throws Exception { + super.setUp(); + + mResources = mContext.getResources(); + } + + @MediumTest + public void testAll() throws Exception { + int len = tests.length; + for (int index = 0; index < len; index++) { + DateTest dateTest = tests[index]; + long startMillis = dateTest.date1.toMillis(false /* use isDst */); + long endMillis = dateTest.date2.toMillis(false /* use isDst */); + int flags = dateTest.flags; + String output = DateUtils.formatDateRange(mContext, startMillis, endMillis, flags); + if (!dateTest.expectedOutput.equals(output)) { + Log.i("FormatDateRangeTest", "index " + index + + " expected: " + dateTest.expectedOutput + + " actual: " + output); + } + assertEquals(dateTest.expectedOutput, output); + } + } +} diff --git a/tests/src/com/android/calendar/WeekNumberTest.java b/tests/src/com/android/calendar/WeekNumberTest.java new file mode 100644 index 00000000..6b3774b7 --- /dev/null +++ b/tests/src/com/android/calendar/WeekNumberTest.java @@ -0,0 +1,233 @@ +/* + * Copyright (C) 2007 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.calendar; + +import android.content.res.Resources; +import android.text.format.DateUtils; +import android.text.format.Time; +import android.test.AndroidTestCase; +import android.test.suitebuilder.annotation.SmallTest; +import android.util.Log; + + +/** + * Unit tests for {@link android.text.format.Time#getWeekNumber}. + */ +public class WeekNumberTest extends AndroidTestCase { + + private class DateAndWeekNumber { + public Time date; + public Time allDayDate; + public int expectedWeekNumber; + + public DateAndWeekNumber(int year, int month, int day, int expectedWeekNumber) { + date = new Time(); + allDayDate = new Time(Time.TIMEZONE_UTC); + + date.set(0, 0, 0, day, month, year); + date.normalize(true /* ignore isDst */); + + allDayDate.set(day, month, year); + allDayDate.normalize(true /* ignore isDst */); + + this.expectedWeekNumber = expectedWeekNumber; + } + } + + DateAndWeekNumber[] tests = { + new DateAndWeekNumber(1998, 11, 28, 53), + new DateAndWeekNumber(1998, 11, 29, 53), + new DateAndWeekNumber(1998, 11, 30, 53), + new DateAndWeekNumber(1998, 11, 31, 53), + new DateAndWeekNumber(1999, 0, 1, 53), + new DateAndWeekNumber(1999, 0, 2, 53), + new DateAndWeekNumber(1999, 0, 3, 53), + new DateAndWeekNumber(1999, 0, 4, 1), + new DateAndWeekNumber(1999, 0, 10, 1), + new DateAndWeekNumber(1999, 0, 20, 3), + new DateAndWeekNumber(1999, 0, 30, 4), + + new DateAndWeekNumber(1999, 11, 28, 52), + new DateAndWeekNumber(1999, 11, 29, 52), + new DateAndWeekNumber(1999, 11, 30, 52), + new DateAndWeekNumber(1999, 11, 31, 52), + new DateAndWeekNumber(2000, 0, 1, 52), + new DateAndWeekNumber(2000, 0, 2, 52), + new DateAndWeekNumber(2000, 0, 3, 1), + new DateAndWeekNumber(2000, 0, 4, 1), + new DateAndWeekNumber(2000, 0, 10, 2), + new DateAndWeekNumber(2000, 0, 20, 3), + new DateAndWeekNumber(2000, 0, 30, 4), + + new DateAndWeekNumber(2000, 11, 28, 52), + new DateAndWeekNumber(2000, 11, 29, 52), + new DateAndWeekNumber(2000, 11, 30, 52), + new DateAndWeekNumber(2000, 11, 31, 52), + new DateAndWeekNumber(2001, 0, 1, 1), + new DateAndWeekNumber(2001, 0, 2, 1), + new DateAndWeekNumber(2001, 0, 3, 1), + new DateAndWeekNumber(2001, 0, 4, 1), + new DateAndWeekNumber(2001, 0, 10, 2), + new DateAndWeekNumber(2001, 0, 20, 3), + new DateAndWeekNumber(2001, 0, 30, 5), + + new DateAndWeekNumber(2001, 11, 28, 52), + new DateAndWeekNumber(2001, 11, 29, 52), + new DateAndWeekNumber(2001, 11, 30, 52), + new DateAndWeekNumber(2001, 11, 31, 1), + new DateAndWeekNumber(2002, 0, 1, 1), + new DateAndWeekNumber(2002, 0, 2, 1), + new DateAndWeekNumber(2002, 0, 3, 1), + new DateAndWeekNumber(2002, 0, 4, 1), + new DateAndWeekNumber(2002, 0, 10, 2), + new DateAndWeekNumber(2002, 0, 20, 3), + new DateAndWeekNumber(2002, 0, 30, 5), + + new DateAndWeekNumber(2002, 11, 28, 52), + new DateAndWeekNumber(2002, 11, 29, 52), + new DateAndWeekNumber(2002, 11, 30, 1), + new DateAndWeekNumber(2002, 11, 31, 1), + new DateAndWeekNumber(2003, 0, 1, 1), + new DateAndWeekNumber(2003, 0, 2, 1), + new DateAndWeekNumber(2003, 0, 3, 1), + new DateAndWeekNumber(2003, 0, 4, 1), + new DateAndWeekNumber(2003, 0, 10, 2), + new DateAndWeekNumber(2003, 0, 20, 4), + new DateAndWeekNumber(2003, 0, 30, 5), + + new DateAndWeekNumber(2003, 11, 28, 52), + new DateAndWeekNumber(2003, 11, 29, 1), + new DateAndWeekNumber(2003, 11, 30, 1), + new DateAndWeekNumber(2003, 11, 31, 1), + new DateAndWeekNumber(2004, 0, 1, 1), + new DateAndWeekNumber(2004, 0, 2, 1), + new DateAndWeekNumber(2004, 0, 3, 1), + new DateAndWeekNumber(2004, 0, 4, 1), + new DateAndWeekNumber(2004, 0, 10, 2), + new DateAndWeekNumber(2004, 0, 20, 4), + new DateAndWeekNumber(2004, 0, 30, 5), + + new DateAndWeekNumber(2004, 0, 1, 1), + new DateAndWeekNumber(2004, 1, 1, 5), + new DateAndWeekNumber(2004, 2, 1, 10), + new DateAndWeekNumber(2004, 3, 1, 14), + new DateAndWeekNumber(2004, 4, 1, 18), + new DateAndWeekNumber(2004, 5, 1, 23), + new DateAndWeekNumber(2004, 6, 1, 27), + new DateAndWeekNumber(2004, 7, 1, 31), + new DateAndWeekNumber(2004, 8, 1, 36), + new DateAndWeekNumber(2004, 9, 1, 40), + new DateAndWeekNumber(2004, 10, 1, 45), + new DateAndWeekNumber(2004, 11, 1, 49), + + new DateAndWeekNumber(2004, 11, 28, 53), + new DateAndWeekNumber(2004, 11, 29, 53), + new DateAndWeekNumber(2004, 11, 30, 53), + new DateAndWeekNumber(2004, 11, 31, 53), + new DateAndWeekNumber(2005, 0, 1, 53), + new DateAndWeekNumber(2005, 0, 2, 53), + new DateAndWeekNumber(2005, 0, 3, 1), + new DateAndWeekNumber(2005, 0, 4, 1), + new DateAndWeekNumber(2005, 0, 10, 2), + new DateAndWeekNumber(2005, 0, 20, 3), + new DateAndWeekNumber(2005, 0, 30, 4), + + new DateAndWeekNumber(2005, 11, 28, 52), + new DateAndWeekNumber(2005, 11, 29, 52), + new DateAndWeekNumber(2005, 11, 30, 52), + new DateAndWeekNumber(2005, 11, 31, 52), + new DateAndWeekNumber(2006, 0, 1, 52), + new DateAndWeekNumber(2006, 0, 2, 1), + new DateAndWeekNumber(2006, 0, 3, 1), + new DateAndWeekNumber(2006, 0, 4, 1), + new DateAndWeekNumber(2006, 0, 10, 2), + new DateAndWeekNumber(2006, 0, 20, 3), + new DateAndWeekNumber(2006, 0, 30, 5), + + new DateAndWeekNumber(2006, 11, 28, 52), + new DateAndWeekNumber(2006, 11, 29, 52), + new DateAndWeekNumber(2006, 11, 30, 52), + new DateAndWeekNumber(2006, 11, 31, 52), + new DateAndWeekNumber(2007, 0, 1, 1), + new DateAndWeekNumber(2007, 0, 2, 1), + new DateAndWeekNumber(2007, 0, 3, 1), + new DateAndWeekNumber(2007, 0, 4, 1), + new DateAndWeekNumber(2007, 0, 10, 2), + new DateAndWeekNumber(2007, 0, 20, 3), + new DateAndWeekNumber(2007, 0, 30, 5), + + new DateAndWeekNumber(2007, 11, 28, 52), + new DateAndWeekNumber(2007, 11, 29, 52), + new DateAndWeekNumber(2007, 11, 30, 52), + new DateAndWeekNumber(2007, 11, 31, 1), + new DateAndWeekNumber(2008, 0, 1, 1), + new DateAndWeekNumber(2008, 0, 2, 1), + new DateAndWeekNumber(2008, 0, 3, 1), + new DateAndWeekNumber(2008, 0, 4, 1), + new DateAndWeekNumber(2008, 0, 10, 2), + new DateAndWeekNumber(2008, 0, 20, 3), + new DateAndWeekNumber(2008, 0, 30, 5), + + new DateAndWeekNumber(2008, 11, 28, 52), + new DateAndWeekNumber(2008, 11, 29, 1), + new DateAndWeekNumber(2008, 11, 30, 1), + new DateAndWeekNumber(2008, 11, 31, 1), + new DateAndWeekNumber(2009, 0, 1, 1), + new DateAndWeekNumber(2009, 0, 2, 1), + new DateAndWeekNumber(2009, 0, 3, 1), + new DateAndWeekNumber(2009, 0, 4, 1), + new DateAndWeekNumber(2009, 0, 10, 2), + new DateAndWeekNumber(2009, 0, 20, 4), + new DateAndWeekNumber(2009, 0, 30, 5), + }; + + @Override + protected void setUp() throws Exception { + super.setUp(); + } + + @SmallTest + public void testAll() throws Exception { + int len = tests.length; + for (int index = 0; index < len; index++) { + DateAndWeekNumber test = tests[index]; + int weekNumber = test.date.getWeekNumber(); + if (weekNumber != test.expectedWeekNumber) { + long millis = test.date.toMillis(false /* use isDst */); + int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_NUMERIC_DATE; + String output = DateUtils.formatDateTime(mContext, millis, flags); + Log.i("WeekNumberTest", "index " + index + + " date: " + output + + " expected: " + test.expectedWeekNumber + + " actual: " + weekNumber); + } + assertEquals(weekNumber, test.expectedWeekNumber); + + weekNumber = test.allDayDate.getWeekNumber(); + if (weekNumber != test.expectedWeekNumber) { + long millis = test.date.toMillis(false /* use isDst */); + int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_NUMERIC_DATE; + String output = DateUtils.formatDateTime(mContext, millis, flags); + Log.i("WeekNumberTest", "(all-day) index " + index + + " date: " + output + + " expected: " + test.expectedWeekNumber + + " actual: " + weekNumber); + } + assertEquals(weekNumber, test.expectedWeekNumber); + } + } +} |