Чистый код. Создание, анализ и рефакторинг (Мартин) - страница 291

>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 лицензии, либо