1 16 package org.joda.time; 17 18 import java.util.Locale ; 19 import java.util.TimeZone ; 20 21 import junit.framework.TestCase; 22 import junit.framework.TestSuite; 23 24 import org.joda.time.chrono.CopticChronology; 25 import org.joda.time.chrono.ISOChronology; 26 27 32 public class TestMutablePeriod_Constructors extends TestCase { 33 36 private static final DateTimeZone PARIS = DateTimeZone.forID("Europe/Paris"); 37 private static final DateTimeZone LONDON = DateTimeZone.forID("Europe/London"); 38 39 long y2002days = 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 40 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 41 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 42 366 + 365; 43 long y2003days = 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 44 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 45 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 46 366 + 365 + 365; 47 48 private long TEST_TIME_NOW = 50 (y2002days + 31L + 28L + 31L + 30L + 31L + 9L -1L) * DateTimeConstants.MILLIS_PER_DAY; 51 52 private long TEST_TIME1 = 54 (y2002days + 31L + 28L + 31L + 5L -1L) * DateTimeConstants.MILLIS_PER_DAY 55 + 12L * DateTimeConstants.MILLIS_PER_HOUR 56 + 24L * DateTimeConstants.MILLIS_PER_MINUTE; 57 58 private long TEST_TIME2 = 60 (y2003days + 31L + 28L + 31L + 30L + 6L -1L) * DateTimeConstants.MILLIS_PER_DAY 61 + 14L * DateTimeConstants.MILLIS_PER_HOUR 62 + 28L * DateTimeConstants.MILLIS_PER_MINUTE; 63 64 private DateTimeZone originalDateTimeZone = null; 65 private TimeZone originalTimeZone = null; 66 private Locale originalLocale = null; 67 68 public static void main(String [] args) { 69 junit.textui.TestRunner.run(suite()); 70 } 71 72 public static TestSuite suite() { 73 return new TestSuite(TestMutablePeriod_Constructors.class); 74 } 75 76 public TestMutablePeriod_Constructors(String name) { 77 super(name); 78 } 79 80 protected void setUp() throws Exception { 81 DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW); 82 originalDateTimeZone = DateTimeZone.getDefault(); 83 originalTimeZone = TimeZone.getDefault(); 84 originalLocale = Locale.getDefault(); 85 DateTimeZone.setDefault(LONDON); 86 TimeZone.setDefault(TimeZone.getTimeZone("Europe/London")); 87 Locale.setDefault(Locale.UK); 88 } 89 90 protected void tearDown() throws Exception { 91 DateTimeUtils.setCurrentMillisSystem(); 92 DateTimeZone.setDefault(originalDateTimeZone); 93 TimeZone.setDefault(originalTimeZone); 94 Locale.setDefault(originalLocale); 95 originalDateTimeZone = null; 96 originalTimeZone = null; 97 originalLocale = null; 98 } 99 100 104 public void testConstructor1() throws Throwable { 105 MutablePeriod test = new MutablePeriod(); 106 assertEquals(PeriodType.standard(), test.getPeriodType()); 107 assertEquals(0, test.getYears()); 108 assertEquals(0, test.getMonths()); 109 assertEquals(0, test.getWeeks()); 110 assertEquals(0, test.getDays()); 111 assertEquals(0, test.getHours()); 112 assertEquals(0, test.getMinutes()); 113 assertEquals(0, test.getSeconds()); 114 assertEquals(0, test.getMillis()); 115 } 116 117 121 public void testConstructor_PeriodType1() throws Throwable { 122 MutablePeriod test = new MutablePeriod(PeriodType.yearMonthDayTime()); 123 assertEquals(PeriodType.yearMonthDayTime(), test.getPeriodType()); 124 assertEquals(0, test.getYears()); 125 assertEquals(0, test.getMonths()); 126 assertEquals(0, test.getWeeks()); 127 assertEquals(0, test.getDays()); 128 assertEquals(0, test.getHours()); 129 assertEquals(0, test.getMinutes()); 130 assertEquals(0, test.getSeconds()); 131 assertEquals(0, test.getMillis()); 132 } 133 134 public void testConstructor_PeriodType2() throws Throwable { 135 MutablePeriod test = new MutablePeriod((PeriodType) null); 136 assertEquals(PeriodType.standard(), test.getPeriodType()); 137 assertEquals(0, test.getYears()); 138 assertEquals(0, test.getMonths()); 139 assertEquals(0, test.getWeeks()); 140 assertEquals(0, test.getDays()); 141 assertEquals(0, test.getHours()); 142 assertEquals(0, test.getMinutes()); 143 assertEquals(0, test.getSeconds()); 144 assertEquals(0, test.getMillis()); 145 } 146 147 public void testConstructor_long1() throws Throwable { 149 long length = 4 * DateTimeConstants.MILLIS_PER_DAY + 150 5 * DateTimeConstants.MILLIS_PER_HOUR + 151 6 * DateTimeConstants.MILLIS_PER_MINUTE + 152 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 153 MutablePeriod test = new MutablePeriod(length); 154 assertEquals(PeriodType.standard(), test.getPeriodType()); 155 assertEquals(0, test.getYears()); 156 assertEquals(0, test.getMonths()); 157 assertEquals(0, test.getWeeks()); 158 assertEquals(0, test.getDays()); 159 assertEquals((4 * 24) + 5, test.getHours()); 160 assertEquals(6, test.getMinutes()); 161 assertEquals(7, test.getSeconds()); 162 assertEquals(8, test.getMillis()); 163 } 164 165 public void testConstructor_long2() throws Throwable { 166 long length = 167 5 * DateTimeConstants.MILLIS_PER_HOUR + 168 6 * DateTimeConstants.MILLIS_PER_MINUTE + 169 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 170 MutablePeriod test = new MutablePeriod(length); 171 assertEquals(PeriodType.standard(), test.getPeriodType()); 172 assertEquals(0, test.getYears()); 173 assertEquals(0, test.getMonths()); 174 assertEquals(0, test.getWeeks()); 175 assertEquals(0, test.getDays()); 176 assertEquals(5, test.getHours()); 177 assertEquals(6, test.getMinutes()); 178 assertEquals(7, test.getSeconds()); 179 assertEquals(8, test.getMillis()); 180 } 181 182 public void testConstructor_long3() throws Throwable { 183 long length = 184 (4L + (3L * 7L) + (2L * 30L) + 365L) * DateTimeConstants.MILLIS_PER_DAY + 185 5L * DateTimeConstants.MILLIS_PER_HOUR + 186 6L * DateTimeConstants.MILLIS_PER_MINUTE + 187 7L * DateTimeConstants.MILLIS_PER_SECOND + 8L; 188 MutablePeriod test = new MutablePeriod(length); 189 assertEquals(PeriodType.standard(), test.getPeriodType()); 190 assertEquals(0, test.getYears()); assertEquals(0, test.getMonths()); 193 assertEquals(0, test.getWeeks()); 194 assertEquals(0, test.getDays()); 195 assertEquals((450 * 24) + 5, test.getHours()); 196 assertEquals(6, test.getMinutes()); 197 assertEquals(7, test.getSeconds()); 198 assertEquals(8, test.getMillis()); 199 } 200 201 public void testConstructor_long_PeriodType1() throws Throwable { 203 long length = 4 * DateTimeConstants.MILLIS_PER_DAY + 204 5 * DateTimeConstants.MILLIS_PER_HOUR + 205 6 * DateTimeConstants.MILLIS_PER_MINUTE + 206 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 207 MutablePeriod test = new MutablePeriod(length, (PeriodType) null); 208 assertEquals(PeriodType.standard(), test.getPeriodType()); 209 assertEquals(0, test.getYears()); 210 assertEquals(0, test.getMonths()); 211 assertEquals(0, test.getWeeks()); 212 assertEquals(0, test.getDays()); 213 assertEquals((4 * 24) + 5, test.getHours()); 214 assertEquals(6, test.getMinutes()); 215 assertEquals(7, test.getSeconds()); 216 assertEquals(8, test.getMillis()); 217 } 218 219 public void testConstructor_long_PeriodType2() throws Throwable { 220 long length = 4 * DateTimeConstants.MILLIS_PER_DAY + 221 5 * DateTimeConstants.MILLIS_PER_HOUR + 222 6 * DateTimeConstants.MILLIS_PER_MINUTE + 223 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 224 MutablePeriod test = new MutablePeriod(length, PeriodType.millis()); 225 assertEquals(PeriodType.millis(), test.getPeriodType()); 226 assertEquals(0, test.getYears()); 227 assertEquals(0, test.getMonths()); 228 assertEquals(0, test.getWeeks()); 229 assertEquals(0, test.getDays()); 230 assertEquals(0, test.getHours()); 231 assertEquals(0, test.getMinutes()); 232 assertEquals(0, test.getSeconds()); 233 assertEquals(length, test.getMillis()); 234 } 235 236 public void testConstructor_long_PeriodType3() throws Throwable { 237 long length = 4 * DateTimeConstants.MILLIS_PER_DAY + 238 5 * DateTimeConstants.MILLIS_PER_HOUR + 239 6 * DateTimeConstants.MILLIS_PER_MINUTE + 240 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 241 MutablePeriod test = new MutablePeriod(length, PeriodType.standard()); 242 assertEquals(PeriodType.standard(), test.getPeriodType()); 243 assertEquals(0, test.getYears()); 244 assertEquals(0, test.getMonths()); 245 assertEquals(0, test.getWeeks()); 246 assertEquals(0, test.getDays()); 247 assertEquals((4 * 24) + 5, test.getHours()); 248 assertEquals(6, test.getMinutes()); 249 assertEquals(7, test.getSeconds()); 250 assertEquals(8, test.getMillis()); 251 } 252 253 public void testConstructor_long_PeriodType4() throws Throwable { 254 long length = 255 5 * DateTimeConstants.MILLIS_PER_HOUR + 256 6 * DateTimeConstants.MILLIS_PER_MINUTE + 257 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 258 MutablePeriod test = new MutablePeriod(length, PeriodType.standard().withMillisRemoved()); 259 assertEquals(PeriodType.standard().withMillisRemoved(), test.getPeriodType()); 260 assertEquals(0, test.getYears()); 261 assertEquals(0, test.getMonths()); 262 assertEquals(0, test.getWeeks()); 263 assertEquals(0, test.getDays()); 264 assertEquals(5, test.getHours()); 265 assertEquals(6, test.getMinutes()); 266 assertEquals(7, test.getSeconds()); 267 assertEquals(0, test.getMillis()); 268 } 269 270 public void testConstructor_long_Chronology1() throws Throwable { 272 long length = 4 * DateTimeConstants.MILLIS_PER_DAY + 273 5 * DateTimeConstants.MILLIS_PER_HOUR + 274 6 * DateTimeConstants.MILLIS_PER_MINUTE + 275 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 276 MutablePeriod test = new MutablePeriod(length, ISOChronology.getInstance()); 277 assertEquals(PeriodType.standard(), test.getPeriodType()); 278 assertEquals(0, test.getYears()); 279 assertEquals(0, test.getMonths()); 280 assertEquals(0, test.getWeeks()); 281 assertEquals(0, test.getDays()); 282 assertEquals((4 * 24) + 5, test.getHours()); 283 assertEquals(6, test.getMinutes()); 284 assertEquals(7, test.getSeconds()); 285 assertEquals(8, test.getMillis()); 286 } 287 288 public void testConstructor_long_Chronology2() throws Throwable { 289 long length = 4 * DateTimeConstants.MILLIS_PER_DAY + 290 5 * DateTimeConstants.MILLIS_PER_HOUR + 291 6 * DateTimeConstants.MILLIS_PER_MINUTE + 292 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 293 MutablePeriod test = new MutablePeriod(length, ISOChronology.getInstanceUTC()); 294 assertEquals(PeriodType.standard(), test.getPeriodType()); 295 assertEquals(0, test.getYears()); 296 assertEquals(0, test.getMonths()); 297 assertEquals(0, test.getWeeks()); 298 assertEquals(4, test.getDays()); 299 assertEquals(5, test.getHours()); 300 assertEquals(6, test.getMinutes()); 301 assertEquals(7, test.getSeconds()); 302 assertEquals(8, test.getMillis()); 303 } 304 305 public void testConstructor_long_Chronology3() throws Throwable { 306 long length = 4 * DateTimeConstants.MILLIS_PER_DAY + 307 5 * DateTimeConstants.MILLIS_PER_HOUR + 308 6 * DateTimeConstants.MILLIS_PER_MINUTE + 309 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 310 MutablePeriod test = new MutablePeriod(length, (Chronology) null); 311 assertEquals(PeriodType.standard(), test.getPeriodType()); 312 assertEquals(0, test.getYears()); 313 assertEquals(0, test.getMonths()); 314 assertEquals(0, test.getWeeks()); 315 assertEquals(0, test.getDays()); 316 assertEquals((4 * 24) + 5, test.getHours()); 317 assertEquals(6, test.getMinutes()); 318 assertEquals(7, test.getSeconds()); 319 assertEquals(8, test.getMillis()); 320 } 321 322 public void testConstructor_long_PeriodType_Chronology1() throws Throwable { 324 long length = 4 * DateTimeConstants.MILLIS_PER_DAY + 325 5 * DateTimeConstants.MILLIS_PER_HOUR + 326 6 * DateTimeConstants.MILLIS_PER_MINUTE + 327 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 328 MutablePeriod test = new MutablePeriod(length, PeriodType.time().withMillisRemoved(), ISOChronology.getInstance()); 329 assertEquals(PeriodType.time().withMillisRemoved(), test.getPeriodType()); 330 assertEquals(0, test.getYears()); 331 assertEquals(0, test.getMonths()); 332 assertEquals(0, test.getWeeks()); 333 assertEquals(0, test.getDays()); 334 assertEquals((4 * 24) + 5, test.getHours()); 335 assertEquals(6, test.getMinutes()); 336 assertEquals(7, test.getSeconds()); 337 assertEquals(0, test.getMillis()); 338 } 339 340 public void testConstructor_long_PeriodType_Chronology2() throws Throwable { 341 long length = 4 * DateTimeConstants.MILLIS_PER_DAY + 342 5 * DateTimeConstants.MILLIS_PER_HOUR + 343 6 * DateTimeConstants.MILLIS_PER_MINUTE + 344 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 345 MutablePeriod test = new MutablePeriod(length, PeriodType.standard(), ISOChronology.getInstanceUTC()); 346 assertEquals(PeriodType.standard(), test.getPeriodType()); 347 assertEquals(0, test.getYears()); 348 assertEquals(0, test.getMonths()); 349 assertEquals(0, test.getWeeks()); 350 assertEquals(4, test.getDays()); 351 assertEquals(5, test.getHours()); 352 assertEquals(6, test.getMinutes()); 353 assertEquals(7, test.getSeconds()); 354 assertEquals(8, test.getMillis()); 355 } 356 357 public void testConstructor_long_PeriodType_Chronology3() throws Throwable { 358 long length = 4 * DateTimeConstants.MILLIS_PER_DAY + 359 5 * DateTimeConstants.MILLIS_PER_HOUR + 360 6 * DateTimeConstants.MILLIS_PER_MINUTE + 361 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 362 MutablePeriod test = new MutablePeriod(length, PeriodType.standard(), (Chronology) null); 363 assertEquals(PeriodType.standard(), test.getPeriodType()); 364 assertEquals(0, test.getYears()); 365 assertEquals(0, test.getMonths()); 366 assertEquals(0, test.getWeeks()); 367 assertEquals(0, test.getDays()); 368 assertEquals((4 * 24) + 5, test.getHours()); 369 assertEquals(6, test.getMinutes()); 370 assertEquals(7, test.getSeconds()); 371 assertEquals(8, test.getMillis()); 372 } 373 374 public void testConstructor_long_PeriodType_Chronology4() throws Throwable { 375 long length = 4 * DateTimeConstants.MILLIS_PER_DAY + 376 5 * DateTimeConstants.MILLIS_PER_HOUR + 377 6 * DateTimeConstants.MILLIS_PER_MINUTE + 378 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 379 MutablePeriod test = new MutablePeriod(length, (PeriodType) null, (Chronology) null); 380 assertEquals(PeriodType.standard(), test.getPeriodType()); 381 assertEquals(0, test.getYears()); 382 assertEquals(0, test.getMonths()); 383 assertEquals(0, test.getWeeks()); 384 assertEquals(0, test.getDays()); 385 assertEquals((4 * 24) + 5, test.getHours()); 386 assertEquals(6, test.getMinutes()); 387 assertEquals(7, test.getSeconds()); 388 assertEquals(8, test.getMillis()); 389 } 390 391 395 public void testConstructor_4int1() throws Throwable { 396 MutablePeriod test = new MutablePeriod(5, 6, 7, 8); 397 assertEquals(PeriodType.standard(), test.getPeriodType()); 398 assertEquals(0, test.getYears()); 399 assertEquals(0, test.getMonths()); 400 assertEquals(0, test.getWeeks()); 401 assertEquals(0, test.getDays()); 402 assertEquals(5, test.getHours()); 403 assertEquals(6, test.getMinutes()); 404 assertEquals(7, test.getSeconds()); 405 assertEquals(8, test.getMillis()); 406 } 407 408 412 public void testConstructor_8int1() throws Throwable { 413 MutablePeriod test = new MutablePeriod(1, 2, 3, 4, 5, 6, 7, 8); 414 assertEquals(PeriodType.standard(), test.getPeriodType()); 415 assertEquals(1, test.getYears()); 416 assertEquals(2, test.getMonths()); 417 assertEquals(3, test.getWeeks()); 418 assertEquals(4, test.getDays()); 419 assertEquals(5, test.getHours()); 420 assertEquals(6, test.getMinutes()); 421 assertEquals(7, test.getSeconds()); 422 assertEquals(8, test.getMillis()); 423 } 424 425 429 public void testConstructor_8int__PeriodType1() throws Throwable { 430 MutablePeriod test = new MutablePeriod(1, 2, 3, 4, 5, 6, 7, 8, null); 431 assertEquals(PeriodType.standard(), test.getPeriodType()); 432 assertEquals(1, test.getYears()); 433 assertEquals(2, test.getMonths()); 434 assertEquals(3, test.getWeeks()); 435 assertEquals(4, test.getDays()); 436 assertEquals(5, test.getHours()); 437 assertEquals(6, test.getMinutes()); 438 assertEquals(7, test.getSeconds()); 439 assertEquals(8, test.getMillis()); 440 } 441 442 public void testConstructor_8int__PeriodType2() throws Throwable { 443 MutablePeriod test = new MutablePeriod(0, 0, 0, 0, 5, 6, 7, 8, PeriodType.dayTime()); 444 assertEquals(PeriodType.dayTime(), test.getPeriodType()); 445 assertEquals(0, test.getYears()); 446 assertEquals(0, test.getMonths()); 447 assertEquals(0, test.getWeeks()); 448 assertEquals(0, test.getDays()); 449 assertEquals(5, test.getHours()); 450 assertEquals(6, test.getMinutes()); 451 assertEquals(7, test.getSeconds()); 452 assertEquals(8, test.getMillis()); 453 } 454 455 public void testConstructor_8int__PeriodType3() throws Throwable { 456 try { 457 new MutablePeriod(1, 2, 3, 4, 5, 6, 7, 8, PeriodType.dayTime()); 458 fail(); 459 } catch (IllegalArgumentException ex) {} 460 } 461 462 public void testConstructor_long_long1() throws Throwable { 464 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 465 DateTime dt2 = new DateTime(2005, 7, 10, 1, 1, 1, 1); 466 MutablePeriod test = new MutablePeriod(dt1.getMillis(), dt2.getMillis()); 467 assertEquals(PeriodType.standard(), test.getPeriodType()); 468 assertEquals(1, test.getYears()); 469 assertEquals(1, test.getMonths()); 470 assertEquals(0, test.getWeeks()); 471 assertEquals(1, test.getDays()); 472 assertEquals(1, test.getHours()); 473 assertEquals(1, test.getMinutes()); 474 assertEquals(1, test.getSeconds()); 475 assertEquals(1, test.getMillis()); 476 } 477 478 public void testConstructor_long_long2() throws Throwable { 479 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 480 DateTime dt2 = new DateTime(2005, 7, 17, 1, 1, 1, 1); 481 MutablePeriod test = new MutablePeriod(dt1.getMillis(), dt2.getMillis()); 482 assertEquals(PeriodType.standard(), test.getPeriodType()); 483 assertEquals(1, test.getYears()); 484 assertEquals(1, test.getMonths()); 485 assertEquals(1, test.getWeeks()); 486 assertEquals(1, test.getDays()); 487 assertEquals(1, test.getHours()); 488 assertEquals(1, test.getMinutes()); 489 assertEquals(1, test.getSeconds()); 490 assertEquals(1, test.getMillis()); 491 } 492 493 public void testConstructor_long_long_PeriodType1() throws Throwable { 495 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 496 DateTime dt2 = new DateTime(2005, 7, 10, 1, 1, 1, 1); 497 MutablePeriod test = new MutablePeriod(dt1.getMillis(), dt2.getMillis(), (PeriodType) null); 498 assertEquals(PeriodType.standard(), test.getPeriodType()); 499 assertEquals(1, test.getYears()); 500 assertEquals(1, test.getMonths()); 501 assertEquals(0, test.getWeeks()); 502 assertEquals(1, test.getDays()); 503 assertEquals(1, test.getHours()); 504 assertEquals(1, test.getMinutes()); 505 assertEquals(1, test.getSeconds()); 506 assertEquals(1, test.getMillis()); 507 } 508 509 public void testConstructor_long_long_PeriodType2() throws Throwable { 510 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 511 DateTime dt2 = new DateTime(2004, 7, 10, 1, 1, 1, 1); 512 MutablePeriod test = new MutablePeriod(dt1.getMillis(), dt2.getMillis(), PeriodType.dayTime()); 513 assertEquals(PeriodType.dayTime(), test.getPeriodType()); 514 assertEquals(0, test.getYears()); 515 assertEquals(0, test.getMonths()); 516 assertEquals(0, test.getWeeks()); 517 assertEquals(31, test.getDays()); 518 assertEquals(1, test.getHours()); 519 assertEquals(1, test.getMinutes()); 520 assertEquals(1, test.getSeconds()); 521 assertEquals(1, test.getMillis()); 522 } 523 524 public void testConstructor_long_long_PeriodType3() throws Throwable { 525 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 526 DateTime dt2 = new DateTime(2004, 6, 9, 1, 1, 1, 1); 527 MutablePeriod test = new MutablePeriod(dt1.getMillis(), dt2.getMillis(), PeriodType.standard().withMillisRemoved()); 528 assertEquals(PeriodType.standard().withMillisRemoved(), test.getPeriodType()); 529 assertEquals(0, test.getYears()); 530 assertEquals(0, test.getMonths()); 531 assertEquals(0, test.getWeeks()); 532 assertEquals(0, test.getDays()); 533 assertEquals(1, test.getHours()); 534 assertEquals(1, test.getMinutes()); 535 assertEquals(1, test.getSeconds()); 536 assertEquals(0, test.getMillis()); 537 } 538 539 public void testConstructor_long_long_Chronology1() throws Throwable { 541 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0, CopticChronology.getInstance()); 542 DateTime dt2 = new DateTime(2005, 7, 10, 1, 1, 1, 1, CopticChronology.getInstance()); 543 MutablePeriod test = new MutablePeriod(dt1.getMillis(), dt2.getMillis(), CopticChronology.getInstance()); 544 assertEquals(PeriodType.standard(), test.getPeriodType()); 545 assertEquals(1, test.getYears()); 546 assertEquals(1, test.getMonths()); 547 assertEquals(0, test.getWeeks()); 548 assertEquals(1, test.getDays()); 549 assertEquals(1, test.getHours()); 550 assertEquals(1, test.getMinutes()); 551 assertEquals(1, test.getSeconds()); 552 assertEquals(1, test.getMillis()); 553 } 554 555 public void testConstructor_long_long_Chronology2() throws Throwable { 556 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 557 DateTime dt2 = new DateTime(2005, 7, 10, 1, 1, 1, 1); 558 MutablePeriod test = new MutablePeriod(dt1.getMillis(), dt2.getMillis(), (Chronology) null); 559 assertEquals(PeriodType.standard(), test.getPeriodType()); 560 assertEquals(1, test.getYears()); 561 assertEquals(1, test.getMonths()); 562 assertEquals(0, test.getWeeks()); 563 assertEquals(1, test.getDays()); 564 assertEquals(1, test.getHours()); 565 assertEquals(1, test.getMinutes()); 566 assertEquals(1, test.getSeconds()); 567 assertEquals(1, test.getMillis()); 568 } 569 570 public void testConstructor_long_long_PeriodType_Chronology1() throws Throwable { 572 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0, CopticChronology.getInstance()); 573 DateTime dt2 = new DateTime(2005, 7, 10, 1, 1, 1, 1, CopticChronology.getInstance()); 574 MutablePeriod test = new MutablePeriod(dt1.getMillis(), dt2.getMillis(), (PeriodType) null, CopticChronology.getInstance()); 575 assertEquals(PeriodType.standard(), test.getPeriodType()); 576 assertEquals(1, test.getYears()); 577 assertEquals(1, test.getMonths()); 578 assertEquals(0, test.getWeeks()); 579 assertEquals(1, test.getDays()); 580 assertEquals(1, test.getHours()); 581 assertEquals(1, test.getMinutes()); 582 assertEquals(1, test.getSeconds()); 583 assertEquals(1, test.getMillis()); 584 } 585 586 public void testConstructor_long_long_PeriodType_Chronology2() throws Throwable { 587 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 588 DateTime dt2 = new DateTime(2005, 7, 10, 1, 1, 1, 1); 589 MutablePeriod test = new MutablePeriod(dt1.getMillis(), dt2.getMillis(), (PeriodType) null, null); 590 assertEquals(PeriodType.standard(), test.getPeriodType()); 591 assertEquals(1, test.getYears()); 592 assertEquals(1, test.getMonths()); 593 assertEquals(0, test.getWeeks()); 594 assertEquals(1, test.getDays()); 595 assertEquals(1, test.getHours()); 596 assertEquals(1, test.getMinutes()); 597 assertEquals(1, test.getSeconds()); 598 assertEquals(1, test.getMillis()); 599 } 600 601 public void testConstructor_RI_RI1() throws Throwable { 603 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 604 DateTime dt2 = new DateTime(2005, 7, 10, 1, 1, 1, 1); 605 MutablePeriod test = new MutablePeriod(dt1, dt2); 606 assertEquals(PeriodType.standard(), test.getPeriodType()); 607 assertEquals(1, test.getYears()); 608 assertEquals(1, test.getMonths()); 609 assertEquals(0, test.getWeeks()); 610 assertEquals(1, test.getDays()); 611 assertEquals(1, test.getHours()); 612 assertEquals(1, test.getMinutes()); 613 assertEquals(1, test.getSeconds()); 614 assertEquals(1, test.getMillis()); 615 } 616 617 public void testConstructor_RI_RI2() throws Throwable { 618 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 619 DateTime dt2 = new DateTime(2005, 7, 17, 1, 1, 1, 1); 620 MutablePeriod test = new MutablePeriod(dt1, dt2); 621 assertEquals(PeriodType.standard(), test.getPeriodType()); 622 assertEquals(1, test.getYears()); 623 assertEquals(1, test.getMonths()); 624 assertEquals(1, test.getWeeks()); 625 assertEquals(1, test.getDays()); 626 assertEquals(1, test.getHours()); 627 assertEquals(1, test.getMinutes()); 628 assertEquals(1, test.getSeconds()); 629 assertEquals(1, test.getMillis()); 630 } 631 632 public void testConstructor_RI_RI3() throws Throwable { 633 DateTime dt1 = null; DateTime dt2 = new DateTime(2005, 7, 17, 1, 1, 1, 1); 635 MutablePeriod test = new MutablePeriod(dt1, dt2); 636 assertEquals(PeriodType.standard(), test.getPeriodType()); 637 assertEquals(3, test.getYears()); 638 assertEquals(1, test.getMonths()); 639 assertEquals(1, test.getWeeks()); 640 assertEquals(1, test.getDays()); 641 assertEquals(0, test.getHours()); 642 assertEquals(1, test.getMinutes()); 643 assertEquals(1, test.getSeconds()); 644 assertEquals(1, test.getMillis()); 645 } 646 647 public void testConstructor_RI_RI4() throws Throwable { 648 DateTime dt1 = new DateTime(2005, 7, 17, 1, 1, 1, 1); 649 DateTime dt2 = null; MutablePeriod test = new MutablePeriod(dt1, dt2); 651 assertEquals(PeriodType.standard(), test.getPeriodType()); 652 assertEquals(-3, test.getYears()); 653 assertEquals(-1, test.getMonths()); 654 assertEquals(-1, test.getWeeks()); 655 assertEquals(-1, test.getDays()); 656 assertEquals(0, test.getHours()); 657 assertEquals(-1, test.getMinutes()); 658 assertEquals(-1, test.getSeconds()); 659 assertEquals(-1, test.getMillis()); 660 } 661 662 public void testConstructor_RI_RI5() throws Throwable { 663 DateTime dt1 = null; DateTime dt2 = null; MutablePeriod test = new MutablePeriod(dt1, dt2); 666 assertEquals(PeriodType.standard(), test.getPeriodType()); 667 assertEquals(0, test.getYears()); 668 assertEquals(0, test.getMonths()); 669 assertEquals(0, test.getWeeks()); 670 assertEquals(0, test.getDays()); 671 assertEquals(0, test.getHours()); 672 assertEquals(0, test.getMinutes()); 673 assertEquals(0, test.getSeconds()); 674 assertEquals(0, test.getMillis()); 675 } 676 677 public void testConstructor_RI_RI_PeriodType1() throws Throwable { 679 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 680 DateTime dt2 = new DateTime(2005, 7, 10, 1, 1, 1, 1); 681 MutablePeriod test = new MutablePeriod(dt1, dt2, null); 682 assertEquals(PeriodType.standard(), test.getPeriodType()); 683 assertEquals(1, test.getYears()); 684 assertEquals(1, test.getMonths()); 685 assertEquals(0, test.getWeeks()); 686 assertEquals(1, test.getDays()); 687 assertEquals(1, test.getHours()); 688 assertEquals(1, test.getMinutes()); 689 assertEquals(1, test.getSeconds()); 690 assertEquals(1, test.getMillis()); 691 } 692 693 public void testConstructor_RI_RI_PeriodType2() throws Throwable { 694 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 695 DateTime dt2 = new DateTime(2004, 7, 10, 1, 1, 1, 1); 696 MutablePeriod test = new MutablePeriod(dt1, dt2, PeriodType.dayTime()); 697 assertEquals(PeriodType.dayTime(), test.getPeriodType()); 698 assertEquals(0, test.getYears()); 699 assertEquals(0, test.getMonths()); 700 assertEquals(0, test.getWeeks()); 701 assertEquals(31, test.getDays()); 702 assertEquals(1, test.getHours()); 703 assertEquals(1, test.getMinutes()); 704 assertEquals(1, test.getSeconds()); 705 assertEquals(1, test.getMillis()); 706 } 707 708 public void testConstructor_RI_RI_PeriodType3() throws Throwable { 709 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 710 DateTime dt2 = new DateTime(2004, 6, 9, 1, 1, 1, 1); 711 MutablePeriod test = new MutablePeriod(dt1, dt2, PeriodType.standard().withMillisRemoved()); 712 assertEquals(PeriodType.standard().withMillisRemoved(), test.getPeriodType()); 713 assertEquals(0, test.getYears()); 714 assertEquals(0, test.getMonths()); 715 assertEquals(0, test.getWeeks()); 716 assertEquals(0, test.getDays()); 717 assertEquals(1, test.getHours()); 718 assertEquals(1, test.getMinutes()); 719 assertEquals(1, test.getSeconds()); 720 assertEquals(0, test.getMillis()); 721 } 722 723 public void testConstructor_RI_RI_PeriodType4() throws Throwable { 724 DateTime dt1 = null; DateTime dt2 = new DateTime(2005, 7, 17, 1, 1, 1, 1); 726 MutablePeriod test = new MutablePeriod(dt1, dt2, PeriodType.standard()); 727 assertEquals(PeriodType.standard(), test.getPeriodType()); 728 assertEquals(3, test.getYears()); 729 assertEquals(1, test.getMonths()); 730 assertEquals(1, test.getWeeks()); 731 assertEquals(1, test.getDays()); 732 assertEquals(0, test.getHours()); 733 assertEquals(1, test.getMinutes()); 734 assertEquals(1, test.getSeconds()); 735 assertEquals(1, test.getMillis()); 736 } 737 738 public void testConstructor_RI_RI_PeriodType5() throws Throwable { 739 DateTime dt1 = null; DateTime dt2 = null; MutablePeriod test = new MutablePeriod(dt1, dt2, PeriodType.standard()); 742 assertEquals(PeriodType.standard(), test.getPeriodType()); 743 assertEquals(0, test.getYears()); 744 assertEquals(0, test.getMonths()); 745 assertEquals(0, test.getWeeks()); 746 assertEquals(0, test.getDays()); 747 assertEquals(0, test.getHours()); 748 assertEquals(0, test.getMinutes()); 749 assertEquals(0, test.getSeconds()); 750 assertEquals(0, test.getMillis()); 751 } 752 753 public void testConstructor_RI_RD1() throws Throwable { 755 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 756 DateTime dt2 = new DateTime(2005, 7, 10, 1, 1, 1, 1); 757 Duration dur = new Interval(dt1, dt2).toDuration(); 758 MutablePeriod test = new MutablePeriod(dt1, dur); 759 assertEquals(PeriodType.standard(), test.getPeriodType()); 760 assertEquals(1, test.getYears()); 761 assertEquals(1, test.getMonths()); 762 assertEquals(0, test.getWeeks()); 763 assertEquals(1, test.getDays()); 764 assertEquals(1, test.getHours()); 765 assertEquals(1, test.getMinutes()); 766 assertEquals(1, test.getSeconds()); 767 assertEquals(1, test.getMillis()); 768 } 769 770 public void testConstructor_RI_RD2() throws Throwable { 771 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 772 Duration dur = null; 773 MutablePeriod test = new MutablePeriod(dt1, dur); 774 assertEquals(PeriodType.standard(), test.getPeriodType()); 775 assertEquals(0, test.getYears()); 776 assertEquals(0, test.getMonths()); 777 assertEquals(0, test.getWeeks()); 778 assertEquals(0, test.getDays()); 779 assertEquals(0, test.getHours()); 780 assertEquals(0, test.getMinutes()); 781 assertEquals(0, test.getSeconds()); 782 assertEquals(0, test.getMillis()); 783 } 784 785 public void testConstructor_RI_RD_PeriodType1() throws Throwable { 787 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 788 DateTime dt2 = new DateTime(2005, 7, 10, 1, 1, 1, 1); 789 Duration dur = new Interval(dt1, dt2).toDuration(); 790 MutablePeriod test = new MutablePeriod(dt1, dur, PeriodType.yearDayTime()); 791 assertEquals(PeriodType.yearDayTime(), test.getPeriodType()); 792 assertEquals(1, test.getYears()); 793 assertEquals(0, test.getMonths()); 794 assertEquals(0, test.getWeeks()); 795 assertEquals(31, test.getDays()); 796 assertEquals(1, test.getHours()); 797 assertEquals(1, test.getMinutes()); 798 assertEquals(1, test.getSeconds()); 799 assertEquals(1, test.getMillis()); 800 } 801 802 public void testConstructor_RI_RD_PeriodType2() throws Throwable { 803 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 804 Duration dur = null; 805 MutablePeriod test = new MutablePeriod(dt1, dur, (PeriodType) null); 806 assertEquals(PeriodType.standard(), test.getPeriodType()); 807 assertEquals(0, test.getYears()); 808 assertEquals(0, test.getMonths()); 809 assertEquals(0, test.getWeeks()); 810 assertEquals(0, test.getDays()); 811 assertEquals(0, test.getHours()); 812 assertEquals(0, test.getMinutes()); 813 assertEquals(0, test.getSeconds()); 814 assertEquals(0, test.getMillis()); 815 } 816 817 821 public void testConstructor_Object1() throws Throwable { 822 MutablePeriod test = new MutablePeriod("P1Y2M3D"); 823 assertEquals(PeriodType.standard(), test.getPeriodType()); 824 assertEquals(1, test.getYears()); 825 assertEquals(2, test.getMonths()); 826 assertEquals(0, test.getWeeks()); 827 assertEquals(3, test.getDays()); 828 assertEquals(0, test.getHours()); 829 assertEquals(0, test.getMinutes()); 830 assertEquals(0, test.getSeconds()); 831 assertEquals(0, test.getMillis()); 832 } 833 834 public void testConstructor_Object2() throws Throwable { 835 MutablePeriod test = new MutablePeriod((Object ) null); 836 assertEquals(PeriodType.standard(), test.getPeriodType()); 837 assertEquals(0, test.getYears()); 838 assertEquals(0, test.getMonths()); 839 assertEquals(0, test.getWeeks()); 840 assertEquals(0, test.getDays()); 841 assertEquals(0, test.getHours()); 842 assertEquals(0, test.getMinutes()); 843 assertEquals(0, test.getSeconds()); 844 assertEquals(0, test.getMillis()); 845 } 846 847 public void testConstructor_Object3() throws Throwable { 848 MutablePeriod test = new MutablePeriod(new Period(0, 0, 0, 0, 1, 2, 3, 4, PeriodType.dayTime())); 849 assertEquals(PeriodType.dayTime(), test.getPeriodType()); 850 assertEquals(0, test.getYears()); 851 assertEquals(0, test.getMonths()); 852 assertEquals(0, test.getWeeks()); 853 assertEquals(0, test.getDays()); 854 assertEquals(1, test.getHours()); 855 assertEquals(2, test.getMinutes()); 856 assertEquals(3, test.getSeconds()); 857 assertEquals(4, test.getMillis()); 858 } 859 860 public void testConstructor_Object4() throws Throwable { 861 Period base = new Period(1, 1, 0, 1, 1, 1, 1, 1, PeriodType.standard()); 862 MutablePeriod test = new MutablePeriod(base); 863 assertEquals(PeriodType.standard(), test.getPeriodType()); 864 assertEquals(1, test.getYears()); 865 assertEquals(1, test.getMonths()); 866 assertEquals(0, test.getWeeks()); 867 assertEquals(1, test.getDays()); 868 assertEquals(1, test.getHours()); 869 assertEquals(1, test.getMinutes()); 870 assertEquals(1, test.getSeconds()); 871 assertEquals(1, test.getMillis()); 872 } 873 874 878 public void testConstructor_Object_PeriodType1() throws Throwable { 879 MutablePeriod test = new MutablePeriod("P1Y2M3D", PeriodType.yearMonthDayTime()); 880 assertEquals(PeriodType.yearMonthDayTime(), test.getPeriodType()); 881 assertEquals(1, test.getYears()); 882 assertEquals(2, test.getMonths()); 883 assertEquals(0, test.getWeeks()); 884 assertEquals(3, test.getDays()); 885 assertEquals(0, test.getHours()); 886 assertEquals(0, test.getMinutes()); 887 assertEquals(0, test.getSeconds()); 888 assertEquals(0, test.getMillis()); 889 } 890 891 public void testConstructor_Object_PeriodType2() throws Throwable { 892 MutablePeriod test = new MutablePeriod((Object ) null, PeriodType.yearMonthDayTime()); 893 assertEquals(PeriodType.yearMonthDayTime(), test.getPeriodType()); 894 assertEquals(0, test.getYears()); 895 assertEquals(0, test.getMonths()); 896 assertEquals(0, test.getWeeks()); 897 assertEquals(0, test.getDays()); 898 assertEquals(0, test.getHours()); 899 assertEquals(0, test.getMinutes()); 900 assertEquals(0, test.getSeconds()); 901 assertEquals(0, test.getMillis()); 902 } 903 904 public void testConstructor_Object_PeriodType3() throws Throwable { 905 MutablePeriod test = new MutablePeriod(new Period(0, 0, 0, 0, 1, 2, 3, 4, PeriodType.dayTime()), PeriodType.yearMonthDayTime()); 906 assertEquals(PeriodType.yearMonthDayTime(), test.getPeriodType()); 907 assertEquals(0, test.getYears()); 908 assertEquals(0, test.getMonths()); 909 assertEquals(0, test.getWeeks()); 910 assertEquals(0, test.getDays()); 911 assertEquals(1, test.getHours()); 912 assertEquals(2, test.getMinutes()); 913 assertEquals(3, test.getSeconds()); 914 assertEquals(4, test.getMillis()); 915 } 916 917 public void testConstructor_Object_PeriodType4() throws Throwable { 918 MutablePeriod test = new MutablePeriod(new Period(0, 0, 0, 0, 1, 2, 3, 4, PeriodType.dayTime()), (PeriodType) null); 919 assertEquals(PeriodType.dayTime(), test.getPeriodType()); 920 assertEquals(0, test.getYears()); 921 assertEquals(0, test.getMonths()); 922 assertEquals(0, test.getWeeks()); 923 assertEquals(0, test.getDays()); 924 assertEquals(1, test.getHours()); 925 assertEquals(2, test.getMinutes()); 926 assertEquals(3, test.getSeconds()); 927 assertEquals(4, test.getMillis()); 928 } 929 930 public void testConstructor_Object_Chronology1() throws Throwable { 932 long length = 933 (4L + (3L * 7L) + (2L * 30L) + 365L) * DateTimeConstants.MILLIS_PER_DAY + 934 5L * DateTimeConstants.MILLIS_PER_HOUR + 935 6L * DateTimeConstants.MILLIS_PER_MINUTE + 936 7L * DateTimeConstants.MILLIS_PER_SECOND + 8L; 937 MutablePeriod test = new MutablePeriod(new Duration(length), ISOChronology.getInstance()); 938 assertEquals(PeriodType.standard(), test.getPeriodType()); 939 assertEquals(0, test.getYears()); assertEquals(0, test.getMonths()); 941 assertEquals(0, test.getWeeks()); 942 assertEquals(0, test.getDays()); 943 assertEquals((450 * 24) + 5, test.getHours()); 944 assertEquals(6, test.getMinutes()); 945 assertEquals(7, test.getSeconds()); 946 assertEquals(8, test.getMillis()); 947 } 948 949 public void testConstructor_Object_Chronology2() throws Throwable { 950 long length = 951 (4L + (3L * 7L) + (2L * 30L) + 365L) * DateTimeConstants.MILLIS_PER_DAY + 952 5L * DateTimeConstants.MILLIS_PER_HOUR + 953 6L * DateTimeConstants.MILLIS_PER_MINUTE + 954 7L * DateTimeConstants.MILLIS_PER_SECOND + 8L; 955 MutablePeriod test = new MutablePeriod(new Duration(length), ISOChronology.getInstanceUTC()); 956 assertEquals(PeriodType.standard(), test.getPeriodType()); 957 assertEquals(0, test.getYears()); assertEquals(0, test.getMonths()); 959 assertEquals(64, test.getWeeks()); 960 assertEquals(2, test.getDays()); 961 assertEquals(5, test.getHours()); 962 assertEquals(6, test.getMinutes()); 963 assertEquals(7, test.getSeconds()); 964 assertEquals(8, test.getMillis()); 965 } 966 967 } 968 | Popular Tags |