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

>226      */

>227     public void testIsLeapYear2000() {

>228         assertTrue(SerialDate.isLeapYear(2000));

>229     }

>230

>231     /**

>232      * Количество високосных годов с 1900 до 1899 включительно равно 0.

>233      */

>234     public void testLeapYearCount1899() {

>235         assertEquals(SerialDate.leapYearCount(1899), 0);

>236     }

>237

>238     /**

>239      * Количество високосных годов с 1900 до 1903 включительно равно 0.

>240      */

>241     public void testLeapYearCount1903() {

>242         assertEquals(SerialDate.leapYearCount(1903), 0);

>243     }

>244

>245     /**

>246      * Количество високосных годов с 1900 до 1904 включительно равно 1.

>247      */

>248     public void testLeapYearCount1904() {

>249         assertEquals(SerialDate.leapYearCount(1904), 1);

>250     }

>251

>252     /**


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

>253      * Количество високосных годов с 1900 до 1999 включительно равно 24.

>254      */

>255     public void testLeapYearCount1999() {

>256         assertEquals(SerialDate.leapYearCount(1999), 24);

>257     }

>258

>259     /**

>260      * Количество високосных годов с 1900 до 2000 включительно равно 25.

>261      */

>262     public void testLeapYearCount2000() {

>263         assertEquals(SerialDate.leapYearCount(2000), 25);

>264     }

>265

>266     /**

>267      * Сериализовать экземпляр, восстановить и проверить на равенство.

>268      */

>269     public void testSerialization() {

>270

>271         SerialDate d1 = SerialDate.createInstance(15, 4, 2000);

>272         SerialDate d2 = null;

>273

>274         try {

>275             ByteArrayOutputStream buffer = new ByteArrayOutputStream();

>276             ObjectOutput out = new ObjectOutputStream(buffer);

>277             out.writeObject(d1);

>278             out.close();

>279

>280             ObjectInput in = new ObjectInputStream(

>                   new ByteArrayInputStream(buffer.toByteArray()));

>281             d2 = (SerialDate) in.readObject();

>282             in.close();

>283         }

>284         catch (Exception e) {

>285             System.out.println(e.toString());

>286         }

>287         assertEquals(d1, d2);

>288

>289     }

>290

>291     /**

>292      * Тест для ошибки по отчету 1096282 (исправлено).

>293      */

>294     public void test1096282() {

>295         SerialDate d = SerialDate.createInstance(29, 2, 2004);

>296         d = SerialDate.addYears(1, d);

>297         SerialDate expected = SerialDate.createInstance(28, 2, 2005);

>298         assertTrue(d.isOn(expected));

>299     }

>300

>301     /**

>302      * Различные тесты для метода addMonths().

>303      */

>304     public void testAddMonths() {

>305         SerialDate d1 = SerialDate.createInstance(31, 5, 2004);