>412 assertEquals("Second",weekInMonthToString(SECOND_WEEK_IN_MONTH));
>413 assertEquals("Third",weekInMonthToString(THIRD_WEEK_IN_MONTH));
>414 assertEquals("Fourth",weekInMonthToString(FOURTH_WEEK_IN_MONTH));
>415 assertEquals("Last",weekInMonthToString(LAST_WEEK_IN_MONTH));
>416
>417 //todo try {
>418 // weekInMonthToString(-1);
>419 // fail("Invalid week code should throw exception");
>420 // } catch (IllegalArgumentException e) {
>421 // }
>422 }
>423
>424 public void testRelativeToString() throws Exception {
>425 assertEquals("Preceding",relativeToString(PRECEDING));
>426 assertEquals("Nearest",relativeToString(NEAREST));
>427 assertEquals("Following",relativeToString(FOLLOWING));
>428
>429 //todo try {
>430 // relativeToString(-1000);
>431 // fail("Invalid relative code should throw exception");
>432 // } catch (IllegalArgumentException e) {
>433 // }
>434 }
>435
>436 public void testCreateInstanceFromDDMMYYY() throws Exception {
>437 SerialDate date = createInstance(1, JANUARY, 1900);
>438 assertEquals(1,date.getDayOfMonth());
>439 assertEquals(JANUARY,date.getMonth());
>440 assertEquals(1900,date.getYYYY());
>441 assertEquals(2,date.toSerial());
>442 }
>443
>444 public void testCreateInstanceFromSerial() throws Exception {
>445 assertEquals(d(1, JANUARY, 1900),createInstance(2));
Листинг Б.4. (продолжение)
>446 assertEquals(d(1, JANUARY, 1901), createInstance(367));
>447 }
>448
>449 public void testCreateInstanceFromJavaDate() throws Exception {
>450 assertEquals(d(1, JANUARY, 1900),
> createInstance(new GregorianCalendar(1900,0,1).getTime()));
>451 assertEquals(d(1, JANUARY, 2006),
> createInstance(new GregorianCalendar(2006,0,1).getTime()));
>452 }
>453
>454 public static void main(String[] args) {
>455 junit.textui.TestRunner.run(BobsSerialDateTest.class);
>456 }
>457 }
Листинг Б.5. SpreadsheetDate.java
> 1 /* ========================================================================
> 2 * JCommon : библиотека классов общего назначения для платформы Java(tm)
> 3 * ========================================================================
> 4 *
> 5 * (C) Copyright 2000–2005, by Object Refinery Limited and Contributors.
> 6 *
> 7 * Информация о проекте: http://www.jfree.org/jcommon/index.html
> 8 *
> 9 * Библиотека распространяется бесплатно; вы можете свободно распространять
> 10 * и/или изменять ее на условиях лицензии Lesser General Public License
> 11 * в формулировке Free Software Foundation; либо версии 2.1 лицензии, либо