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

>306

>307         SerialDate d2 = SerialDate.addMonths(1, d1);

>308         assertEquals(30, d2.getDayOfMonth());

>309         assertEquals(6, d2.getMonth());

>310         assertEquals(2004, d2.getYYYY());

>311

>312         SerialDate d3 = SerialDate.addMonths(2, d1);

>313         assertEquals(31, d3.getDayOfMonth());

>314         assertEquals(7, d3.getMonth());

>315         assertEquals(2004, d3.getYYYY());

>316

>317         SerialDate d4 = SerialDate.addMonths(1, SerialDate.addMonths(1, d1));

>318         assertEquals(30, d4.getDayOfMonth());

>319         assertEquals(7, d4.getMonth());

>320         assertEquals(2004, d4.getYYYY());

>321     }

>322 }


Листинг Б.3. MonthConstants.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 лицензии, либо

>  12  * (на ваше усмотрение) любой последующей версии.

>  13  *

>  14  * Библиотека распространяется в надежде, что она будет полезна, но

>  15  * БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, даже без подразумеваемой гарантии ПРИГОДНОСТИ

>  16  * для КОНКРЕТНОЙ ЦЕЛИ. За подробностями обращайтесь к GNU Lesser General

>  17  * Public License.

>  18  *

>  19  * Вы должны получить копию лицензии GNU Lesser General Public License

>  20  * с этой библиотекой; если этого не произошло, обратитесь в Free Software

>  21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,

>  22  * USA.

>  23  *

>  24  * [Java является зарегистрированной торговой маркой Sun Microsystems, Inc.

>  25  * в Соединенных Штатах и других странах].

>  26  *

>  27  * -------------------

>  28  * MonthConstants.java


Листинг Б.3 (продолжение)

>  29  * -------------------

>  30  * (C) Copyright 2002, 2003, by Object Refinery Limited.

>  31  *

>  32  * Автор:  Дэвид Гилберт (для Object Refinery Limited);

>  33  * Участники:   -;

>  34  *

>  35  * $Id: MonthConstants.java,v 1.4 2005/11/16 15:58:40 taqua Exp $

>  36  *

>  37  * Изменения

>  38  * -------

>  39  * 29.05.2002 : Версия 1 (код перемещен из класса SerialDate) (DG);

>  40  *

>  41  */

>  42

>  43 package org.jfree.date;

>  44