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

>152

>153     /**

>154      * Понедельник, ближайший к 22 января 1970, - должно быть 19-е января.

>155      */

>156     public void testMondayNearest22Jan1970() {

>157         SerialDate jan22Y1970 = SerialDate.createInstance(22, MonthConstants.JANUARY,

>             1970);

>158         SerialDate mondayNearest=SerialDate.getNearestDayOfWeek(SerialDate.MONDAY,

>             jan22Y1970);

>159         assertEquals(19, mondayNearest.getDayOfMonth());

>160     }

>161

>162     /**

>163      * Проверяет преобразование дней в строки. На самом деле результат

>164      * зависит от локального контекста, так что тест следует изменить.

>165      */

>166     public void testWeekdayCodeToString() {

>167

>168         final String test = SerialDate.weekdayCodeToString(SerialDate.SATURDAY);

>169         assertEquals("Saturday", test);

>170

>171     }

>172

>173     /**

>174      * Проверяет преобразование строки в день недели. Если в локальном контексте

>175      * не используются английские названия дней недели, тест не пройдет (улучшить)!

>176      */

>177     public void testStringToWeekday() {

>178

>179         int weekday = SerialDate.stringToWeekdayCode("Wednesday");

>180         assertEquals(SerialDate.WEDNESDAY, weekday);

>181

>182         weekday = SerialDate.stringToWeekdayCode(" Wednesday ");

>183         assertEquals(SerialDate.WEDNESDAY, weekday);

>184

>185         weekday = SerialDate.stringToWeekdayCode("Wed");

>186         assertEquals(SerialDate.WEDNESDAY, weekday);

>187

>188     }

>189

>190     /**

>191      * Проверяет преобразование строки в месяц. Если в локальном контексте

>192      * не используются английские названия месяцев, тест не пройдет (улучшить)!

>193      */

>194     public void testStringToMonthCode() {

>195

>196         int m = SerialDate.stringToMonthCode("January");

>197         assertEquals(MonthConstants.JANUARY, m);

>198

>199         m = SerialDate.stringToMonthCode(" January ");

>200         assertEquals(MonthConstants.JANUARY, m);

>201

>202         m = SerialDate.stringToMonthCode("Jan");

>203         assertEquals(MonthConstants.JANUARY, m);

>204

>205     }

>206

>207     /**

>208      * Проверяет преобразование кода месяца в строку.

>209      */

>210     public void testMonthCodeToStringCode() {

>211

>212         final String test = SerialDate.monthCodeToString(MonthConstants.DECEMBER);

>213         assertEquals("December", test);

>214

>215     }

>216

>217     /**

>218      * Год 1900 не является високосным.

>219      */

>220     public void testIsNotLeapYear1900() {

>221         assertTrue(!SerialDate.isLeapYear(1900));

>222     }

>223

>224     /**

>225      * Год 2000 - високосный.