1 package org.columba.calendar.ui.calendar; 2 3 import junit.framework.TestCase; 4 5 import com.miginfocom.util.dates.DateRange; 6 7 public class MainCalendarControllerTest extends TestCase { 8 9 private DateRange resetClock(DateRange in) { 10 DateRange range = in; 11 range.setStartField(java.util.Calendar.HOUR_OF_DAY, 0); 12 range.setStartField(java.util.Calendar.MINUTE, 0); 13 range.setStartField(java.util.Calendar.SECOND, 0); 14 range.setStartField(java.util.Calendar.MILLISECOND, 0); 15 range.setEndField(java.util.Calendar.HOUR_OF_DAY, 23); 16 range.setEndField(java.util.Calendar.MINUTE, 59); 17 range.setEndField(java.util.Calendar.SECOND, 59); 18 range.setEndField(java.util.Calendar.MILLISECOND, 999); 19 return range; 20 } 21 22 24 28 public void testRollWithYearsNormalCaseDay() { 29 30 DateRange range = new DateRange(); 31 range.setStartField(java.util.Calendar.YEAR, 2007); 32 range.setStartField(java.util.Calendar.MONTH, 0); 33 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 1); 34 35 range.setEndField(java.util.Calendar.YEAR, 2007); 36 range.setEndField(java.util.Calendar.MONTH, 0); 37 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 1); 38 range = resetClock(range); 39 40 MainCalendarController.rollWithYears(range, java.util.Calendar.DAY_OF_YEAR, 1); 41 42 assertEquals(2007, range.getStartField(java.util.Calendar.YEAR)); 43 assertEquals(0, range.getStartField(java.util.Calendar.MONTH)); 44 assertEquals(2, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 45 46 assertEquals(2007, range.getEndField(java.util.Calendar.YEAR)); 47 assertEquals(0, range.getEndField(java.util.Calendar.MONTH)); 48 assertEquals(2, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 49 50 } 51 52 public void testRollWithYearsNormalCaseWeek() { 53 54 DateRange range = new DateRange(); 55 range.setStartField(java.util.Calendar.YEAR, 2007); 56 range.setStartField(java.util.Calendar.MONTH, 0); 57 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 1); 58 59 range.setEndField(java.util.Calendar.YEAR, 2007); 60 range.setEndField(java.util.Calendar.MONTH, 0); 61 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 7); 62 63 MainCalendarController.rollWithYears(range, java.util.Calendar.WEEK_OF_YEAR, 1); 64 65 assertEquals(2007, range.getStartField(java.util.Calendar.YEAR)); 66 assertEquals(0, range.getStartField(java.util.Calendar.MONTH)); 67 assertEquals(8, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 68 69 assertEquals(2007, range.getEndField(java.util.Calendar.YEAR)); 70 assertEquals(0, range.getEndField(java.util.Calendar.MONTH)); 71 assertEquals(14, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 72 73 } 74 75 public void testRollWithYearsNormalCaseDayNegative() { 76 77 DateRange range = new DateRange(); 78 range.setStartField(java.util.Calendar.YEAR, 2007); 79 range.setStartField(java.util.Calendar.MONTH, 0); 80 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 2); 81 82 range.setEndField(java.util.Calendar.YEAR, 2007); 83 range.setEndField(java.util.Calendar.MONTH, 0); 84 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 2); 85 86 MainCalendarController.rollWithYears(range, java.util.Calendar.DAY_OF_YEAR, -1); 87 88 assertEquals(2007, range.getStartField(java.util.Calendar.YEAR)); 89 assertEquals(0, range.getStartField(java.util.Calendar.MONTH)); 90 assertEquals(1, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 91 92 assertEquals(2007, range.getEndField(java.util.Calendar.YEAR)); 93 assertEquals(0, range.getEndField(java.util.Calendar.MONTH)); 94 assertEquals(1, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 95 96 } 97 98 public void testRollWithYearsNormalCaseWeekNegative() { 99 100 DateRange range = new DateRange(); 101 range.setStartField(java.util.Calendar.YEAR, 2007); 102 range.setStartField(java.util.Calendar.MONTH, 0); 103 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 8); 104 105 range.setEndField(java.util.Calendar.YEAR, 2007); 106 range.setEndField(java.util.Calendar.MONTH, 0); 107 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 14); 108 109 MainCalendarController.rollWithYears(range, java.util.Calendar.WEEK_OF_YEAR, -1); 110 111 assertEquals(2007, range.getStartField(java.util.Calendar.YEAR)); 112 assertEquals(0, range.getStartField(java.util.Calendar.MONTH)); 113 assertEquals(1, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 114 115 assertEquals(2007, range.getEndField(java.util.Calendar.YEAR)); 116 assertEquals(0, range.getEndField(java.util.Calendar.MONTH)); 117 assertEquals(7, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 118 119 } 120 121 125 public void testRollWithYearsFirstDayCaseDayNegative() { 126 127 DateRange range = new DateRange(); 128 range.setStartField(java.util.Calendar.YEAR, 2007); 129 range.setStartField(java.util.Calendar.MONTH, 0); 130 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 1); 131 132 range.setEndField(java.util.Calendar.YEAR, 2007); 133 range.setEndField(java.util.Calendar.MONTH, 0); 134 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 1); 135 136 MainCalendarController.rollWithYears(range, java.util.Calendar.DAY_OF_YEAR, -1); 137 138 assertEquals(2006, range.getStartField(java.util.Calendar.YEAR)); 139 assertEquals(11, range.getStartField(java.util.Calendar.MONTH)); 140 assertEquals(365, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 141 142 assertEquals(2006, range.getEndField(java.util.Calendar.YEAR)); 143 assertEquals(11, range.getEndField(java.util.Calendar.MONTH)); 144 assertEquals(365, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 145 146 } 147 148 public void testRollWithYearsLastDayCaseDay() { 149 150 DateRange range = new DateRange(); 151 range.setStartField(java.util.Calendar.YEAR, 2006); 152 range.setStartField(java.util.Calendar.MONTH, 11); 153 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 365); 154 155 range.setEndField(java.util.Calendar.YEAR, 2006); 156 range.setEndField(java.util.Calendar.MONTH, 11); 157 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 365); 158 159 MainCalendarController.rollWithYears(range, java.util.Calendar.DAY_OF_YEAR, 1); 160 161 assertEquals(2007, range.getStartField(java.util.Calendar.YEAR)); 162 assertEquals(0, range.getStartField(java.util.Calendar.MONTH)); 163 assertEquals(1, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 164 165 assertEquals(2007, range.getEndField(java.util.Calendar.YEAR)); 166 assertEquals(0, range.getEndField(java.util.Calendar.MONTH)); 167 assertEquals(1, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 168 169 } 170 171 public void testRollWithYearsFirstDayCaseWeekNegative() { 172 173 DateRange range = new DateRange(); 174 range.setStartField(java.util.Calendar.YEAR, 2007); 175 range.setStartField(java.util.Calendar.MONTH, 0); 176 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 1); 177 178 range.setEndField(java.util.Calendar.YEAR, 2007); 179 range.setEndField(java.util.Calendar.MONTH, 0); 180 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 7); 181 182 MainCalendarController.rollWithYears(range, java.util.Calendar.WEEK_OF_YEAR, -1); 183 184 assertEquals(2006, range.getStartField(java.util.Calendar.YEAR)); 185 assertEquals(11, range.getStartField(java.util.Calendar.MONTH)); 186 assertEquals(359, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 187 188 assertEquals(2006, range.getEndField(java.util.Calendar.YEAR)); 189 assertEquals(11, range.getEndField(java.util.Calendar.MONTH)); 190 assertEquals(365, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 191 192 } 193 194 public void testRollWithYearsLastDayCaseWeek() { 195 196 DateRange range = new DateRange(); 197 range.setStartField(java.util.Calendar.YEAR, 2006); 198 range.setStartField(java.util.Calendar.MONTH, 11); 199 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 359); 200 201 range.setEndField(java.util.Calendar.YEAR, 2006); 202 range.setEndField(java.util.Calendar.MONTH, 11); 203 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 365); 204 205 MainCalendarController.rollWithYears(range, java.util.Calendar.WEEK_OF_YEAR, 1); 206 207 assertEquals(2007, range.getStartField(java.util.Calendar.YEAR)); 208 assertEquals(0, range.getStartField(java.util.Calendar.MONTH)); 209 assertEquals(1, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 210 211 assertEquals(2007, range.getEndField(java.util.Calendar.YEAR)); 212 assertEquals(0, range.getEndField(java.util.Calendar.MONTH)); 213 assertEquals(7, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 214 215 } 216 217 221 public void testRollWithYearsFirstDayCaseDayNegativeMore() { 222 223 DateRange range = new DateRange(); 224 range.setStartField(java.util.Calendar.YEAR, 2007); 225 range.setStartField(java.util.Calendar.MONTH, 0); 226 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 1); 227 228 range.setEndField(java.util.Calendar.YEAR, 2007); 229 range.setEndField(java.util.Calendar.MONTH, 0); 230 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 1); 231 232 MainCalendarController.rollWithYears(range, java.util.Calendar.DAY_OF_YEAR, -366); 233 234 assertEquals(2005, range.getStartField(java.util.Calendar.YEAR)); 235 assertEquals(11, range.getStartField(java.util.Calendar.MONTH)); 236 assertEquals(365, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 237 238 assertEquals(2005, range.getEndField(java.util.Calendar.YEAR)); 239 assertEquals(11, range.getEndField(java.util.Calendar.MONTH)); 240 assertEquals(365, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 241 242 } 243 244 public void testRollWithYearsLastDayCaseDayMore() { 245 246 DateRange range = new DateRange(); 247 range.setStartField(java.util.Calendar.YEAR, 2006); 248 range.setStartField(java.util.Calendar.MONTH, 11); 249 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 365); 250 251 range.setEndField(java.util.Calendar.YEAR, 2006); 252 range.setEndField(java.util.Calendar.MONTH, 11); 253 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 365); 254 255 MainCalendarController.rollWithYears(range, java.util.Calendar.DAY_OF_YEAR, 366); 256 257 assertEquals(2008, range.getStartField(java.util.Calendar.YEAR)); 258 assertEquals(0, range.getStartField(java.util.Calendar.MONTH)); 259 assertEquals(1, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 260 261 assertEquals(2008, range.getEndField(java.util.Calendar.YEAR)); 262 assertEquals(0, range.getEndField(java.util.Calendar.MONTH)); 263 assertEquals(1, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 264 265 } 266 267 public void testRollWithYearsFirstDayCaseWeekNegativeMore() { 268 269 DateRange range = new DateRange(); 270 range.setStartField(java.util.Calendar.YEAR, 2007); 271 range.setStartField(java.util.Calendar.MONTH, 0); 272 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 1); 273 274 range.setEndField(java.util.Calendar.YEAR, 2007); 275 range.setEndField(java.util.Calendar.MONTH, 0); 276 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 7); 277 278 MainCalendarController.rollWithYears(range, java.util.Calendar.WEEK_OF_YEAR, -54); 279 280 assertEquals(2005, range.getStartField(java.util.Calendar.YEAR)); 281 assertEquals(11, range.getStartField(java.util.Calendar.MONTH)); 282 assertEquals(353, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 283 284 assertEquals(2005, range.getEndField(java.util.Calendar.YEAR)); 285 assertEquals(11, range.getEndField(java.util.Calendar.MONTH)); 286 assertEquals(359, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 287 288 } 289 290 public void testRollWithYearsLastDayCaseWeekMore() { 291 292 DateRange range = new DateRange(); 293 range.setStartField(java.util.Calendar.YEAR, 2006); 294 range.setStartField(java.util.Calendar.MONTH, 11); 295 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 359); 296 297 range.setEndField(java.util.Calendar.YEAR, 2006); 298 range.setEndField(java.util.Calendar.MONTH, 11); 299 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 365); 300 301 MainCalendarController.rollWithYears(range, java.util.Calendar.WEEK_OF_YEAR, 53); 302 303 assertEquals(2007, range.getStartField(java.util.Calendar.YEAR)); 304 assertEquals(11, range.getStartField(java.util.Calendar.MONTH)); 305 assertEquals(365, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 306 307 assertEquals(2008, range.getEndField(java.util.Calendar.YEAR)); 308 assertEquals(0, range.getEndField(java.util.Calendar.MONTH)); 309 assertEquals(6, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 310 311 } 312 313 public void testROllWithYearsViewToday() { 314 315 DateRange range = new DateRange(); 316 range.setStartField(java.util.Calendar.YEAR, 2011); 317 range.setStartField(java.util.Calendar.MONTH, 1); 318 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 37); 319 320 range.setEndField(java.util.Calendar.YEAR, 2011); 321 range.setEndField(java.util.Calendar.MONTH, 2); 322 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 85); 323 324 MainCalendarController.rollWithYears(range, java.util.Calendar.DAY_OF_YEAR, -1510); 325 326 assertEquals(2006, range.getStartField(java.util.Calendar.YEAR)); 327 assertEquals(11, range.getStartField(java.util.Calendar.MONTH)); 328 assertEquals(352, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 329 330 assertEquals(2007, range.getEndField(java.util.Calendar.YEAR)); 331 assertEquals(1, range.getEndField(java.util.Calendar.MONTH)); 332 assertEquals(35, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 333 334 } 335 336 public void testPlusYears() { 337 338 DateRange range = new DateRange(); 339 range.setStartField(java.util.Calendar.YEAR, 2005); 340 range.setStartField(java.util.Calendar.MONTH, 11); 341 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 351); 342 343 range.setEndField(java.util.Calendar.YEAR, 2005); 344 range.setEndField(java.util.Calendar.MONTH, 11); 345 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 361); 346 347 MainCalendarController.rollWithYears(range, java.util.Calendar.DAY_OF_YEAR, 379); 348 349 assertEquals(2006, range.getStartField(java.util.Calendar.YEAR)); 350 assertEquals(11, range.getStartField(java.util.Calendar.MONTH)); 351 assertEquals(365, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 352 353 assertEquals(2007, range.getEndField(java.util.Calendar.YEAR)); 354 assertEquals(0, range.getEndField(java.util.Calendar.MONTH)); 355 assertEquals(10, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 356 357 } 358 359 363 public void testRollWithYearsLastDayCaseMonth() { 364 365 DateRange range = new DateRange(); 366 range.setStartField(java.util.Calendar.YEAR, 2006); 367 range.setStartField(java.util.Calendar.MONTH, 10); 368 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 329); 369 370 range.setEndField(java.util.Calendar.YEAR, 2006); 371 range.setEndField(java.util.Calendar.MONTH, 11); 372 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 365); 373 374 MainCalendarController.rollWithYears(range, java.util.Calendar.WEEK_OF_YEAR, 1); 375 376 assertEquals(2006, range.getStartField(java.util.Calendar.YEAR)); 377 assertEquals(11, range.getStartField(java.util.Calendar.MONTH)); 378 assertEquals(336, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 379 380 assertEquals(2007, range.getEndField(java.util.Calendar.YEAR)); 381 assertEquals(0, range.getEndField(java.util.Calendar.MONTH)); 382 assertEquals(7, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 383 384 } 385 386 public void testRollWithYearsLastDayCaseBack() { 387 388 DateRange range = new DateRange(); 389 range.setStartField(java.util.Calendar.YEAR, 2006); 390 range.setStartField(java.util.Calendar.MONTH, 10); 391 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 334); 392 393 range.setEndField(java.util.Calendar.YEAR, 2007); 394 range.setEndField(java.util.Calendar.MONTH, 0); 395 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 7); 396 397 MainCalendarController.rollWithYears(range, java.util.Calendar.WEEK_OF_YEAR, -1); 398 399 assertEquals(2006, range.getStartField(java.util.Calendar.YEAR)); 400 assertEquals(10, range.getStartField(java.util.Calendar.MONTH)); 401 assertEquals(327, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 402 403 assertEquals(2006, range.getEndField(java.util.Calendar.YEAR)); 404 assertEquals(11, range.getEndField(java.util.Calendar.MONTH)); 405 assertEquals(365, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 406 407 } 408 409 public void testRollWithYearsLastDayCaseForward() { 410 411 DateRange range = new DateRange(); 412 range.setStartField(java.util.Calendar.YEAR, 2007); 413 range.setStartField(java.util.Calendar.MONTH, 11); 414 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 358); 415 416 range.setEndField(java.util.Calendar.YEAR, 2008); 417 range.setEndField(java.util.Calendar.MONTH, 1); 418 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 33); 419 420 MainCalendarController.rollWithYears(range, java.util.Calendar.WEEK_OF_YEAR, 1); 421 422 assertEquals(2007, range.getStartField(java.util.Calendar.YEAR)); 423 assertEquals(11, range.getStartField(java.util.Calendar.MONTH)); 424 assertEquals(365, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 425 426 assertEquals(2008, range.getEndField(java.util.Calendar.YEAR)); 427 assertEquals(1, range.getEndField(java.util.Calendar.MONTH)); 428 assertEquals(40, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 429 430 } 431 432 public void testRollWithYearsLastDayCaseForwardTwo() { 433 434 DateRange range = new DateRange(); 435 range.setStartField(java.util.Calendar.YEAR, 2004); 436 range.setStartField(java.util.Calendar.MONTH, 11); 437 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 361); 438 439 range.setEndField(java.util.Calendar.YEAR, 2005); 440 range.setEndField(java.util.Calendar.MONTH, 0); 441 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 29); 442 443 range = resetClock(range); 444 445 MainCalendarController.rollWithYears(range, java.util.Calendar.WEEK_OF_YEAR, 1); 446 447 assertEquals(2005, range.getStartField(java.util.Calendar.YEAR)); 448 assertEquals(0, range.getStartField(java.util.Calendar.MONTH)); 449 assertEquals(2, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 450 451 assertEquals(2005, range.getEndField(java.util.Calendar.YEAR)); 452 assertEquals(1, range.getEndField(java.util.Calendar.MONTH)); 453 assertEquals(36, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 454 455 } 456 457 public void testRollWithYearsLastDayCaseBackTwo() { 458 459 DateRange range = new DateRange(); 460 range.setStartField(java.util.Calendar.YEAR, 2005); 461 range.setStartField(java.util.Calendar.MONTH, 0); 462 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 2); 463 464 range.setEndField(java.util.Calendar.YEAR, 2005); 465 range.setEndField(java.util.Calendar.MONTH, 1); 466 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 43); 467 468 range = resetClock(range); 469 470 MainCalendarController.rollWithYears(range, java.util.Calendar.WEEK_OF_YEAR, -1); 471 472 assertEquals(2004, range.getStartField(java.util.Calendar.YEAR)); 473 assertEquals(11, range.getStartField(java.util.Calendar.MONTH)); 474 assertEquals(361, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 475 476 assertEquals(2005, range.getEndField(java.util.Calendar.YEAR)); 477 assertEquals(1, range.getEndField(java.util.Calendar.MONTH)); 478 assertEquals(36, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 479 480 } 481 482 public void testRollWithYearsLastDayCaseForwardThree() { 483 484 DateRange range = new DateRange(); 485 range.setStartField(java.util.Calendar.YEAR, 2007); 486 range.setStartField(java.util.Calendar.MONTH, 11); 487 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 357); 488 489 range.setEndField(java.util.Calendar.YEAR, 2008); 490 range.setEndField(java.util.Calendar.MONTH, 1); 491 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 33); 492 493 range = resetClock(range); 494 495 MainCalendarController.rollWithYears(range, java.util.Calendar.WEEK_OF_YEAR, 1); 496 497 assertEquals(2007, range.getStartField(java.util.Calendar.YEAR)); 498 assertEquals(11, range.getStartField(java.util.Calendar.MONTH)); 499 assertEquals(364, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 500 501 assertEquals(2008, range.getEndField(java.util.Calendar.YEAR)); 502 assertEquals(1, range.getEndField(java.util.Calendar.MONTH)); 503 assertEquals(40, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 504 505 } 506 507 public void testRollWithYearsLastDayCaseForwardFour() { 512 513 DateRange range = new DateRange(); 514 range.setStartField(java.util.Calendar.YEAR, 2007); 515 range.setStartField(java.util.Calendar.MONTH, 8); 516 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 266); 517 518 range.setEndField(java.util.Calendar.YEAR, 2007); 519 range.setEndField(java.util.Calendar.MONTH, 10); 520 range.setEndField(java.util.Calendar.DAY_OF_YEAR, 307); 521 522 range = resetClock(range); 523 524 MainCalendarController.rollWithYears(range, java.util.Calendar.WEEK_OF_YEAR, 1); 525 526 assertEquals(2007, range.getStartField(java.util.Calendar.YEAR)); 527 assertEquals(8, range.getStartField(java.util.Calendar.MONTH)); 528 assertEquals(273, range.getStartField(java.util.Calendar.DAY_OF_YEAR)); 529 530 assertEquals(2007, range.getEndField(java.util.Calendar.YEAR)); 531 assertEquals(10, range.getEndField(java.util.Calendar.MONTH)); 532 assertEquals(314, range.getEndField(java.util.Calendar.DAY_OF_YEAR)); 533 534 } 535 536 542 public void testWeekFiftyThree() { 543 544 DateRange range = new DateRange(); 545 range.setStartField(java.util.Calendar.YEAR, 2004); 546 range.setStartField(java.util.Calendar.MONTH, 11); 547 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 365); 548 549 assertEquals(53, MainCalendarController.getWeekOfYear(range.getStart())); 550 551 } 552 553 public void testWeekFiftyFour() { 554 555 int[] fiftythree = new int[] { 1970, 1976, 1987, 1992, 1998 }; 556 557 for (int i = 0; i < fiftythree.length; i++) { 558 559 DateRange range = new DateRange(); 560 range.setStartField(java.util.Calendar.YEAR, fiftythree[i]); 561 range.setStartField(java.util.Calendar.MONTH, 11); 562 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 365); 563 564 assertEquals(53, MainCalendarController.getWeekOfYear(range.getStart())); 565 566 } 567 568 } 569 570 public void testNonFiftyThree() { 571 DateRange range = new DateRange(); 572 range.setStartField(java.util.Calendar.YEAR, 2005); 573 range.setStartField(java.util.Calendar.MONTH, 0); 574 range.setStartField(java.util.Calendar.DAY_OF_YEAR, 2); 575 576 assertEquals(1, MainCalendarController.getWeekOfYear(range.getStart())); 577 } 578 579 } 580 | Popular Tags |