1146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project/* 2146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 3146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project * 4146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project * you may not use this file except in compliance with the License. 6146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project * You may obtain a copy of the License at 7146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project * 8146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project * 10146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project * See the License for the specific language governing permissions and 14146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project * limitations under the License. 15146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project */ 16146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 17146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Projectpackage com.android.calendar; 18146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 19146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Projectimport android.test.AndroidTestCase; 20146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Projectimport android.test.suitebuilder.annotation.SmallTest; 217e4b2c1ddb6680d5b413c5f25592b0128e5f14dcMichael Chanimport android.test.suitebuilder.annotation.Smoke; 227e4b2c1ddb6680d5b413c5f25592b0128e5f14dcMichael Chanimport android.text.format.DateUtils; 237e4b2c1ddb6680d5b413c5f25592b0128e5f14dcMichael Chanimport android.text.format.Time; 24146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Projectimport android.util.Log; 25146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 26146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 27146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project/** 28146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project * Unit tests for {@link android.text.format.Time#getWeekNumber}. 29146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project */ 30146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Projectpublic class WeekNumberTest extends AndroidTestCase { 31146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 3298ab9de2fa5ad8dfd37faa6593dc66fa426d8960Michael Chan static private class DateAndWeekNumber { 33146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project public Time date; 34146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project public Time allDayDate; 35146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project public int expectedWeekNumber; 36146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 37146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project public DateAndWeekNumber(int year, int month, int day, int expectedWeekNumber) { 38146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project date = new Time(); 39146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project allDayDate = new Time(Time.TIMEZONE_UTC); 40146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 41146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project date.set(0, 0, 0, day, month, year); 42146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project date.normalize(true /* ignore isDst */); 43146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 44146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project allDayDate.set(day, month, year); 45146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project allDayDate.normalize(true /* ignore isDst */); 46146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 477e4b2c1ddb6680d5b413c5f25592b0128e5f14dcMichael Chan this.expectedWeekNumber = expectedWeekNumber; 48146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project } 49146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project } 50146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 51146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project DateAndWeekNumber[] tests = { 52146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1998, 11, 28, 53), 53146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1998, 11, 29, 53), 54146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1998, 11, 30, 53), 55146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1998, 11, 31, 53), 56146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1999, 0, 1, 53), 57146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1999, 0, 2, 53), 58146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1999, 0, 3, 53), 59146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1999, 0, 4, 1), 60146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1999, 0, 10, 1), 61146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1999, 0, 20, 3), 62146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1999, 0, 30, 4), 63146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 64146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1999, 11, 28, 52), 65146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1999, 11, 29, 52), 66146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1999, 11, 30, 52), 67146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(1999, 11, 31, 52), 68146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2000, 0, 1, 52), 69146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2000, 0, 2, 52), 70146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2000, 0, 3, 1), 71146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2000, 0, 4, 1), 72146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2000, 0, 10, 2), 73146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2000, 0, 20, 3), 74146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2000, 0, 30, 4), 75146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 76146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2000, 11, 28, 52), 77146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2000, 11, 29, 52), 78146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2000, 11, 30, 52), 79146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2000, 11, 31, 52), 80146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2001, 0, 1, 1), 81146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2001, 0, 2, 1), 82146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2001, 0, 3, 1), 83146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2001, 0, 4, 1), 84146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2001, 0, 10, 2), 85146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2001, 0, 20, 3), 86146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2001, 0, 30, 5), 87146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 88146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2001, 11, 28, 52), 89146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2001, 11, 29, 52), 90146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2001, 11, 30, 52), 91146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2001, 11, 31, 1), 92146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2002, 0, 1, 1), 93146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2002, 0, 2, 1), 94146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2002, 0, 3, 1), 95146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2002, 0, 4, 1), 96146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2002, 0, 10, 2), 97146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2002, 0, 20, 3), 98146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2002, 0, 30, 5), 99146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 100146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2002, 11, 28, 52), 101146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2002, 11, 29, 52), 102146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2002, 11, 30, 1), 103146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2002, 11, 31, 1), 104146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2003, 0, 1, 1), 105146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2003, 0, 2, 1), 106146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2003, 0, 3, 1), 107146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2003, 0, 4, 1), 108146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2003, 0, 10, 2), 109146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2003, 0, 20, 4), 110146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2003, 0, 30, 5), 111146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 112146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2003, 11, 28, 52), 113146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2003, 11, 29, 1), 114146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2003, 11, 30, 1), 115146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2003, 11, 31, 1), 116146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 0, 1, 1), 117146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 0, 2, 1), 118146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 0, 3, 1), 119146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 0, 4, 1), 120146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 0, 10, 2), 121146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 0, 20, 4), 122146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 0, 30, 5), 123146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 124146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 0, 1, 1), 125146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 1, 1, 5), 126146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 2, 1, 10), 127146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 3, 1, 14), 128146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 4, 1, 18), 129146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 5, 1, 23), 130146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 6, 1, 27), 131146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 7, 1, 31), 132146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 8, 1, 36), 133146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 9, 1, 40), 134146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 10, 1, 45), 135146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 11, 1, 49), 136146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 137146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 11, 28, 53), 138146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 11, 29, 53), 139146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 11, 30, 53), 140146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2004, 11, 31, 53), 141146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2005, 0, 1, 53), 142146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2005, 0, 2, 53), 143146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2005, 0, 3, 1), 144146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2005, 0, 4, 1), 145146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2005, 0, 10, 2), 146146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2005, 0, 20, 3), 147146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2005, 0, 30, 4), 148146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 149146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2005, 11, 28, 52), 150146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2005, 11, 29, 52), 151146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2005, 11, 30, 52), 152146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2005, 11, 31, 52), 153146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2006, 0, 1, 52), 154146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2006, 0, 2, 1), 155146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2006, 0, 3, 1), 156146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2006, 0, 4, 1), 157146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2006, 0, 10, 2), 158146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2006, 0, 20, 3), 159146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2006, 0, 30, 5), 160146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 161146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2006, 11, 28, 52), 162146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2006, 11, 29, 52), 163146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2006, 11, 30, 52), 164146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2006, 11, 31, 52), 165146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2007, 0, 1, 1), 166146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2007, 0, 2, 1), 167146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2007, 0, 3, 1), 168146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2007, 0, 4, 1), 169146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2007, 0, 10, 2), 170146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2007, 0, 20, 3), 171146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2007, 0, 30, 5), 172146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 173146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2007, 11, 28, 52), 174146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2007, 11, 29, 52), 175146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2007, 11, 30, 52), 176146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2007, 11, 31, 1), 177146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2008, 0, 1, 1), 178146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2008, 0, 2, 1), 179146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2008, 0, 3, 1), 180146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2008, 0, 4, 1), 181146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2008, 0, 10, 2), 182146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2008, 0, 20, 3), 183146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2008, 0, 30, 5), 184146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 185146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2008, 11, 28, 52), 186146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2008, 11, 29, 1), 187146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2008, 11, 30, 1), 188146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2008, 11, 31, 1), 189146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2009, 0, 1, 1), 190146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2009, 0, 2, 1), 191146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2009, 0, 3, 1), 192146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2009, 0, 4, 1), 193146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2009, 0, 10, 2), 194146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2009, 0, 20, 4), 195146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project new DateAndWeekNumber(2009, 0, 30, 5), 196146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project }; 197146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 198146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project @Override 199146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project protected void setUp() throws Exception { 200146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project super.setUp(); 201146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project } 202146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 2037e4b2c1ddb6680d5b413c5f25592b0128e5f14dcMichael Chan @Smoke 204146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project @SmallTest 205146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project public void testAll() throws Exception { 206146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project int len = tests.length; 207146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project for (int index = 0; index < len; index++) { 208146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project DateAndWeekNumber test = tests[index]; 209146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project int weekNumber = test.date.getWeekNumber(); 210146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project if (weekNumber != test.expectedWeekNumber) { 211146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project long millis = test.date.toMillis(false /* use isDst */); 212146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_NUMERIC_DATE; 213146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project String output = DateUtils.formatDateTime(mContext, millis, flags); 214146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project Log.i("WeekNumberTest", "index " + index 215146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project + " date: " + output 216146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project + " expected: " + test.expectedWeekNumber 217146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project + " actual: " + weekNumber); 218146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project } 219146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project assertEquals(weekNumber, test.expectedWeekNumber); 220146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project 221146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project weekNumber = test.allDayDate.getWeekNumber(); 222146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project if (weekNumber != test.expectedWeekNumber) { 223146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project long millis = test.date.toMillis(false /* use isDst */); 224146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_NUMERIC_DATE; 225146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project String output = DateUtils.formatDateTime(mContext, millis, flags); 226146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project Log.i("WeekNumberTest", "(all-day) index " + index 227146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project + " date: " + output 228146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project + " expected: " + test.expectedWeekNumber 229146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project + " actual: " + weekNumber); 230146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project } 231146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project assertEquals(weekNumber, test.expectedWeekNumber); 232146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project } 233146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project } 234146de36083f6ce8b7e8a1f974d3990594a36bfecThe Android Open Source Project} 235