>251 assertEquals(73, leapYearCount(2201));
>252 assertEquals(97, leapYearCount(2301));
>253 assertEquals(122, leapYearCount(2401));
>254 }
>255
>256 public void testLastDayOfMonth() throws Exception {
>257 assertEquals(31, lastDayOfMonth(JANUARY, 1901));
>258 assertEquals(28, lastDayOfMonth(FEBRUARY, 1901));
>259 assertEquals(31, lastDayOfMonth(MARCH, 1901));
>260 assertEquals(30, lastDayOfMonth(APRIL, 1901));
>261 assertEquals(31, lastDayOfMonth(MAY, 1901));
>262 assertEquals(30, lastDayOfMonth(JUNE, 1901));
>263 assertEquals(31, lastDayOfMonth(JULY, 1901));
>264 assertEquals(31, lastDayOfMonth(AUGUST, 1901));
>265 assertEquals(30, lastDayOfMonth(SEPTEMBER, 1901));
>266 assertEquals(31, lastDayOfMonth(OCTOBER, 1901));
>267 assertEquals(30, lastDayOfMonth(NOVEMBER, 1901));
>268 assertEquals(31, lastDayOfMonth(DECEMBER, 1901));
>269 assertEquals(29, lastDayOfMonth(FEBRUARY, 1904));
>270 }
>271
>272 public void testAddDays() throws Exception {
>273 SerialDate newYears = d(1, JANUARY, 1900);
>274 assertEquals(d(2, JANUARY, 1900), addDays(1, newYears));
>275 assertEquals(d(1, FEBRUARY, 1900), addDays(31, newYears));
>276 assertEquals(d(1, JANUARY, 1901), addDays(365, newYears));
>277 assertEquals(d(31, DECEMBER, 1904), addDays(5 * 365, newYears));
>278 }
>279
>280 private static SpreadsheetDate d(int day, int month, int year) {return new
>SpreadsheetDate(day, month, year);}
>281
>282 public void testAddMonths() throws Exception {
>283 assertEquals(d(1, FEBRUARY, 1900), addMonths(1, d(1, JANUARY, 1900)));
>284 assertEquals(d(28, FEBRUARY, 1900), addMonths(1, d(31, JANUARY, 1900)));
>285 assertEquals(d(28, FEBRUARY, 1900), addMonths(1, d(30, JANUARY, 1900)));
>286 assertEquals(d(28, FEBRUARY, 1900), addMonths(1, d(29, JANUARY, 1900)));
>287 assertEquals(d(28, FEBRUARY, 1900), addMonths(1, d(28, JANUARY, 1900)));
>288 assertEquals(d(27, FEBRUARY, 1900), addMonths(1, d(27, JANUARY, 1900)));
>289
>290 assertEquals(d(30, JUNE, 1900), addMonths(5, d(31, JANUARY, 1900)));
>291 assertEquals(d(30, JUNE, 1901), addMonths(17, d(31, JANUARY, 1900)));
>292
>293 assertEquals(d(29, FEBRUARY, 1904), addMonths(49, d(31, JANUARY, 1900)));
>294
>295 }
>296
>297 public void testAddYears() throws Exception {
>298 assertEquals(d(1, JANUARY, 1901), addYears(1, d(1, JANUARY, 1900)));
>299 assertEquals(d(28, FEBRUARY, 1905), addYears(1, d(29, FEBRUARY, 1904)));
>300 assertEquals(d(28, FEBRUARY, 1905), addYears(1, d(28, FEBRUARY, 1904)));