1 16 package org.joda.time; 17 18 import java.util.Calendar ; 19 import java.util.Date ; 20 import java.util.GregorianCalendar ; 21 22 import junit.framework.TestCase; 23 import junit.framework.TestSuite; 24 25 import org.joda.time.chrono.BuddhistChronology; 26 import org.joda.time.chrono.GregorianChronology; 27 import org.joda.time.chrono.ISOChronology; 28 29 34 public class TestLocalDateTime_Constructors extends TestCase { 35 36 private static final DateTimeZone LONDON = DateTimeZone.forID("Europe/London"); 37 private static final DateTimeZone PARIS = DateTimeZone.forID("Europe/Paris"); 38 private static final DateTimeZone MOSCOW = DateTimeZone.forID("Europe/Moscow"); 39 private static final Chronology ISO_UTC = ISOChronology.getInstanceUTC(); 40 private static final Chronology GREGORIAN_UTC = GregorianChronology.getInstanceUTC(); 41 private static final Chronology GREGORIAN_PARIS = GregorianChronology.getInstance(PARIS); 42 private static final Chronology GREGORIAN_MOSCOW = GregorianChronology.getInstance(MOSCOW); 43 private static final Chronology BUDDHIST_UTC = BuddhistChronology.getInstanceUTC(); 44 private static final int OFFSET_PARIS = PARIS.getOffset(0L) / DateTimeConstants.MILLIS_PER_HOUR; 45 private static final int OFFSET_MOSCOW = MOSCOW.getOffset(0L) / DateTimeConstants.MILLIS_PER_HOUR; 46 47 private long MILLIS_OF_DAY = 48 10L * DateTimeConstants.MILLIS_PER_HOUR 49 + 20L * DateTimeConstants.MILLIS_PER_MINUTE 50 + 30L * DateTimeConstants.MILLIS_PER_SECOND 51 + 40L; 52 private long TEST_TIME_NOW = 53 (31L + 28L + 31L + 30L + 31L + 9L -1L) * DateTimeConstants.MILLIS_PER_DAY 54 + MILLIS_OF_DAY; 55 56 private long TEST_TIME1 = 57 (31L + 28L + 31L + 6L -1L) * DateTimeConstants.MILLIS_PER_DAY 58 + 12L * DateTimeConstants.MILLIS_PER_HOUR 59 + 24L * DateTimeConstants.MILLIS_PER_MINUTE; 60 private long TEST_TIME2 = 61 (365L + 31L + 28L + 31L + 30L + 7L -1L) * DateTimeConstants.MILLIS_PER_DAY 62 + 14L * DateTimeConstants.MILLIS_PER_HOUR 63 + 28L * DateTimeConstants.MILLIS_PER_MINUTE; 64 65 private DateTimeZone zone = null; 66 67 public static void main(String [] args) { 68 junit.textui.TestRunner.run(suite()); 69 } 70 71 public static TestSuite suite() { 72 return new TestSuite(TestLocalDateTime_Constructors.class); 73 } 74 75 public TestLocalDateTime_Constructors(String name) { 76 super(name); 77 } 78 79 protected void setUp() throws Exception { 80 DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW); 81 zone = DateTimeZone.getDefault(); 82 DateTimeZone.setDefault(MOSCOW); 83 } 84 85 protected void tearDown() throws Exception { 86 DateTimeUtils.setCurrentMillisSystem(); 87 DateTimeZone.setDefault(zone); 88 zone = null; 89 } 90 91 public void testFactory_FromCalendarFields() throws Exception { 93 GregorianCalendar cal = new GregorianCalendar (1970, 1, 3, 4, 5, 6); 94 cal.set(Calendar.MILLISECOND, 7); 95 LocalDateTime expected = new LocalDateTime(1970, 2, 3, 4, 5, 6, 7); 96 assertEquals(expected, LocalDateTime.fromCalendarFields(cal)); 97 try { 98 LocalDateTime.fromCalendarFields((Calendar ) null); 99 fail(); 100 } catch (IllegalArgumentException ex) {} 101 } 102 103 public void testFactory_FromDateFields() throws Exception { 105 GregorianCalendar cal = new GregorianCalendar (1970, 1, 3, 4, 5, 6); 106 cal.set(Calendar.MILLISECOND, 7); 107 LocalDateTime expected = new LocalDateTime(1970, 2, 3, 4, 5 ,6, 7); 108 assertEquals(expected, LocalDateTime.fromDateFields(cal.getTime())); 109 try { 110 LocalDateTime.fromDateFields((Date ) null); 111 fail(); 112 } catch (IllegalArgumentException ex) {} 113 } 114 115 public void testConstructor() throws Throwable { 117 LocalDateTime test = new LocalDateTime(); 118 assertEquals(ISO_UTC, test.getChronology()); 119 assertEquals(1970, test.getYear()); 120 assertEquals(6, test.getMonthOfYear()); 121 assertEquals(9, test.getDayOfMonth()); 122 assertEquals(10 + OFFSET_MOSCOW, test.getHourOfDay()); 123 assertEquals(20, test.getMinuteOfHour()); 124 assertEquals(30, test.getSecondOfMinute()); 125 assertEquals(40, test.getMillisOfSecond()); 126 } 127 128 public void testConstructor_DateTimeZone() throws Throwable { 130 DateTime dt = new DateTime(2005, 6, 8, 23, 59, 0, 0, LONDON); 131 DateTimeUtils.setCurrentMillisFixed(dt.getMillis()); 132 134 LocalDateTime test = new LocalDateTime(LONDON); 135 assertEquals(ISO_UTC, test.getChronology()); 136 assertEquals(2005, test.getYear()); 137 assertEquals(6, test.getMonthOfYear()); 138 assertEquals(8, test.getDayOfMonth()); 139 assertEquals(23, test.getHourOfDay()); 140 assertEquals(59, test.getMinuteOfHour()); 141 assertEquals(0, test.getSecondOfMinute()); 142 assertEquals(0, test.getMillisOfSecond()); 143 144 test = new LocalDateTime(PARIS); 145 assertEquals(ISO_UTC, test.getChronology()); 146 assertEquals(2005, test.getYear()); 147 assertEquals(6, test.getMonthOfYear()); 148 assertEquals(9, test.getDayOfMonth()); 149 assertEquals(0, test.getHourOfDay()); 150 assertEquals(59, test.getMinuteOfHour()); 151 assertEquals(0, test.getSecondOfMinute()); 152 assertEquals(0, test.getMillisOfSecond()); 153 } 154 155 public void testConstructor_nullDateTimeZone() throws Throwable { 156 LocalDateTime test = new LocalDateTime((DateTimeZone) null); 157 assertEquals(ISO_UTC, test.getChronology()); 158 assertEquals(1970, test.getYear()); 159 assertEquals(6, test.getMonthOfYear()); 160 assertEquals(9, test.getDayOfMonth()); 161 assertEquals(10 + OFFSET_MOSCOW, test.getHourOfDay()); 162 assertEquals(20, test.getMinuteOfHour()); 163 assertEquals(30, test.getSecondOfMinute()); 164 assertEquals(40, test.getMillisOfSecond()); 165 } 166 167 public void testConstructor_Chronology() throws Throwable { 169 LocalDateTime test = new LocalDateTime(GREGORIAN_PARIS); 170 assertEquals(GREGORIAN_UTC, test.getChronology()); 171 assertEquals(1970, test.getYear()); 172 assertEquals(6, test.getMonthOfYear()); 173 assertEquals(9, test.getDayOfMonth()); 174 assertEquals(10 + OFFSET_PARIS, test.getHourOfDay()); 175 assertEquals(20, test.getMinuteOfHour()); 176 assertEquals(30, test.getSecondOfMinute()); 177 assertEquals(40, test.getMillisOfSecond()); 178 } 179 180 public void testConstructor_nullChronology() throws Throwable { 181 LocalDateTime test = new LocalDateTime((Chronology) null); 182 assertEquals(ISO_UTC, test.getChronology()); 183 assertEquals(1970, test.getYear()); 184 assertEquals(6, test.getMonthOfYear()); 185 assertEquals(9, test.getDayOfMonth()); 186 assertEquals(10 + OFFSET_MOSCOW, test.getHourOfDay()); 187 assertEquals(20, test.getMinuteOfHour()); 188 assertEquals(30, test.getSecondOfMinute()); 189 assertEquals(40, test.getMillisOfSecond()); 190 } 191 192 public void testConstructor_long1() throws Throwable { 194 LocalDateTime test = new LocalDateTime(TEST_TIME1); 195 assertEquals(ISO_UTC, test.getChronology()); 196 assertEquals(1970, test.getYear()); 197 assertEquals(4, test.getMonthOfYear()); 198 assertEquals(6, test.getDayOfMonth()); 199 assertEquals(12 + OFFSET_MOSCOW, test.getHourOfDay()); 200 assertEquals(24, test.getMinuteOfHour()); 201 assertEquals(0, test.getSecondOfMinute()); 202 assertEquals(0, test.getMillisOfSecond()); 203 } 204 205 public void testConstructor_long2() throws Throwable { 206 LocalDateTime test = new LocalDateTime(TEST_TIME2); 207 assertEquals(ISO_UTC, test.getChronology()); 208 assertEquals(1971, test.getYear()); 209 assertEquals(5, test.getMonthOfYear()); 210 assertEquals(7, test.getDayOfMonth()); 211 assertEquals(14 + OFFSET_MOSCOW, test.getHourOfDay()); 212 assertEquals(28, test.getMinuteOfHour()); 213 assertEquals(0, test.getSecondOfMinute()); 214 assertEquals(0, test.getMillisOfSecond()); 215 } 216 217 public void testConstructor_long1_DateTimeZone() throws Throwable { 219 LocalDateTime test = new LocalDateTime(TEST_TIME1, PARIS); 220 assertEquals(ISO_UTC, test.getChronology()); 221 assertEquals(1970, test.getYear()); 222 assertEquals(4, test.getMonthOfYear()); 223 assertEquals(6, test.getDayOfMonth()); 224 assertEquals(12 + OFFSET_PARIS, test.getHourOfDay()); 225 assertEquals(24, test.getMinuteOfHour()); 226 assertEquals(0, test.getSecondOfMinute()); 227 assertEquals(0, test.getMillisOfSecond()); 228 } 229 230 public void testConstructor_long2_DateTimeZone() throws Throwable { 231 LocalDateTime test = new LocalDateTime(TEST_TIME2, PARIS); 232 assertEquals(ISO_UTC, test.getChronology()); 233 assertEquals(1971, test.getYear()); 234 assertEquals(5, test.getMonthOfYear()); 235 assertEquals(7, test.getDayOfMonth()); 236 assertEquals(14 + OFFSET_PARIS, test.getHourOfDay()); 237 assertEquals(28, test.getMinuteOfHour()); 238 assertEquals(0, test.getSecondOfMinute()); 239 assertEquals(0, test.getMillisOfSecond()); 240 } 241 242 public void testConstructor_long_nullDateTimeZone() throws Throwable { 243 LocalDateTime test = new LocalDateTime(TEST_TIME1, (DateTimeZone) null); 244 assertEquals(ISO_UTC, test.getChronology()); 245 assertEquals(1970, test.getYear()); 246 assertEquals(4, test.getMonthOfYear()); 247 assertEquals(6, test.getDayOfMonth()); 248 assertEquals(12 + OFFSET_MOSCOW, test.getHourOfDay()); 249 assertEquals(24, test.getMinuteOfHour()); 250 assertEquals(0, test.getSecondOfMinute()); 251 assertEquals(0, test.getMillisOfSecond()); 252 } 253 254 public void testConstructor_long1_Chronology() throws Throwable { 256 LocalDateTime test = new LocalDateTime(TEST_TIME1, GREGORIAN_PARIS); 257 assertEquals(GREGORIAN_UTC, test.getChronology()); 258 assertEquals(1970, test.getYear()); 259 assertEquals(4, test.getMonthOfYear()); 260 assertEquals(6, test.getDayOfMonth()); 261 assertEquals(12 + OFFSET_PARIS, test.getHourOfDay()); 262 assertEquals(24, test.getMinuteOfHour()); 263 assertEquals(0, test.getSecondOfMinute()); 264 assertEquals(0, test.getMillisOfSecond()); 265 } 266 267 public void testConstructor_long2_Chronology() throws Throwable { 268 LocalDateTime test = new LocalDateTime(TEST_TIME2, GREGORIAN_PARIS); 269 assertEquals(GREGORIAN_UTC, test.getChronology()); 270 assertEquals(1971, test.getYear()); 271 assertEquals(5, test.getMonthOfYear()); 272 assertEquals(7, test.getDayOfMonth()); 273 assertEquals(14 + OFFSET_PARIS, test.getHourOfDay()); 274 assertEquals(28, test.getMinuteOfHour()); 275 assertEquals(0, test.getSecondOfMinute()); 276 assertEquals(0, test.getMillisOfSecond()); 277 } 278 279 public void testConstructor_long_nullChronology() throws Throwable { 280 LocalDateTime test = new LocalDateTime(TEST_TIME1, (Chronology) null); 281 assertEquals(ISO_UTC, test.getChronology()); 282 assertEquals(1970, test.getYear()); 283 assertEquals(4, test.getMonthOfYear()); 284 assertEquals(6, test.getDayOfMonth()); 285 assertEquals(12 + OFFSET_MOSCOW, test.getHourOfDay()); 286 assertEquals(24, test.getMinuteOfHour()); 287 assertEquals(0, test.getSecondOfMinute()); 288 assertEquals(0, test.getMillisOfSecond()); 289 } 290 291 public void testConstructor_Object1() throws Throwable { 293 Date date = new Date (TEST_TIME1); 294 LocalDateTime test = new LocalDateTime(date); 295 assertEquals(ISO_UTC, test.getChronology()); 296 assertEquals(1970, test.getYear()); 297 assertEquals(4, test.getMonthOfYear()); 298 assertEquals(6, test.getDayOfMonth()); 299 assertEquals(12 + OFFSET_MOSCOW, test.getHourOfDay()); 300 assertEquals(24, test.getMinuteOfHour()); 301 assertEquals(0, test.getSecondOfMinute()); 302 assertEquals(0, test.getMillisOfSecond()); 303 } 304 305 public void testConstructor_nullObject() throws Throwable { 306 LocalDateTime test = new LocalDateTime((Object ) null); 307 assertEquals(ISO_UTC, test.getChronology()); 308 assertEquals(1970, test.getYear()); 309 assertEquals(6, test.getMonthOfYear()); 310 assertEquals(9, test.getDayOfMonth()); 311 assertEquals(10 + OFFSET_MOSCOW, test.getHourOfDay()); 312 assertEquals(20, test.getMinuteOfHour()); 313 assertEquals(30, test.getSecondOfMinute()); 314 assertEquals(40, test.getMillisOfSecond()); 315 } 316 317 public void testConstructor_ObjectString1() throws Throwable { 318 LocalDateTime test = new LocalDateTime("1972-04-06"); 319 assertEquals(ISO_UTC, test.getChronology()); 320 assertEquals(1972, test.getYear()); 321 assertEquals(4, test.getMonthOfYear()); 322 assertEquals(6, test.getDayOfMonth()); 323 assertEquals(0, test.getHourOfDay()); 324 assertEquals(0, test.getMinuteOfHour()); 325 assertEquals(0, test.getSecondOfMinute()); 326 assertEquals(0, test.getMillisOfSecond()); 327 } 328 329 public void testConstructor_ObjectString2() throws Throwable { 330 LocalDateTime test = new LocalDateTime("1972-037"); 331 assertEquals(ISO_UTC, test.getChronology()); 332 assertEquals(1972, test.getYear()); 333 assertEquals(2, test.getMonthOfYear()); 334 assertEquals(6, test.getDayOfMonth()); 335 assertEquals(0, test.getHourOfDay()); 336 assertEquals(0, test.getMinuteOfHour()); 337 assertEquals(0, test.getSecondOfMinute()); 338 assertEquals(0, test.getMillisOfSecond()); 339 } 340 341 public void testConstructor_ObjectString3() throws Throwable { 342 LocalDateTime test = new LocalDateTime("1972-04-06T10:20:30.040"); 343 assertEquals(ISO_UTC, test.getChronology()); 344 assertEquals(1972, test.getYear()); 345 assertEquals(4, test.getMonthOfYear()); 346 assertEquals(6, test.getDayOfMonth()); 347 assertEquals(10, test.getHourOfDay()); 348 assertEquals(20, test.getMinuteOfHour()); 349 assertEquals(30, test.getSecondOfMinute()); 350 assertEquals(40, test.getMillisOfSecond()); 351 } 352 353 public void testConstructor_ObjectString4() throws Throwable { 354 LocalDateTime test = new LocalDateTime("1972-04-06T10:20"); 355 assertEquals(ISO_UTC, test.getChronology()); 356 assertEquals(1972, test.getYear()); 357 assertEquals(4, test.getMonthOfYear()); 358 assertEquals(6, test.getDayOfMonth()); 359 assertEquals(10, test.getHourOfDay()); 360 assertEquals(20, test.getMinuteOfHour()); 361 assertEquals(0, test.getSecondOfMinute()); 362 assertEquals(0, test.getMillisOfSecond()); 363 } 364 365 public void testConstructor_ObjectStringEx1() throws Throwable { 366 try { 367 new LocalDateTime("1970-04-06T+14:00"); 368 fail(); 369 } catch (IllegalArgumentException ex) {} 370 } 371 372 public void testConstructor_ObjectStringEx2() throws Throwable { 373 try { 374 new LocalDateTime("1970-04-06T10:20:30.040+14:00"); 375 fail(); 376 } catch (IllegalArgumentException ex) {} 377 } 378 379 public void testConstructor_ObjectStringEx3() throws Throwable { 380 try { 381 new LocalDateTime("T10:20:30.040"); 382 fail(); 383 } catch (IllegalArgumentException ex) {} 384 } 385 386 public void testConstructor_ObjectStringEx4() throws Throwable { 387 try { 388 new LocalDateTime("T10:20:30.040+14:00"); 389 fail(); 390 } catch (IllegalArgumentException ex) {} 391 } 392 393 public void testConstructor_ObjectStringEx5() throws Throwable { 394 try { 395 new LocalDateTime("10:20:30.040"); 396 fail(); 397 } catch (IllegalArgumentException ex) {} 398 } 399 400 public void testConstructor_ObjectStringEx6() throws Throwable { 401 try { 402 new LocalDateTime("10:20:30.040+14:00"); 403 fail(); 404 } catch (IllegalArgumentException ex) {} 405 } 406 407 public void testConstructor_ObjectLocalDateTime() throws Throwable { 408 LocalDateTime dt = new LocalDateTime(1970, 5, 6, 10, 20, 30, 40, BUDDHIST_UTC); 409 LocalDateTime test = new LocalDateTime(dt); 410 assertEquals(BUDDHIST_UTC, test.getChronology()); 411 assertEquals(1970, test.getYear()); 412 assertEquals(5, test.getMonthOfYear()); 413 assertEquals(6, test.getDayOfMonth()); 414 assertEquals(10, test.getHourOfDay()); 415 assertEquals(20, test.getMinuteOfHour()); 416 assertEquals(30, test.getSecondOfMinute()); 417 assertEquals(40, test.getMillisOfSecond()); 418 } 419 420 public void testConstructor_ObjectLocalDate() throws Throwable { 421 LocalDate date = new LocalDate(1970, 5, 6); 422 try { 423 new LocalDateTime(date); 424 fail(); 425 } catch (IllegalArgumentException ex) {} 426 } 427 428 public void testConstructor_ObjectLocalTime() throws Throwable { 429 LocalTime time = new LocalTime(10, 20, 30, 40); 430 try { 431 new LocalDateTime(time); 432 fail(); 433 } catch (IllegalArgumentException ex) {} 434 } 435 436 public void testConstructor_Object_DateTimeZone() throws Throwable { 438 Date date = new Date (TEST_TIME1); 439 LocalDateTime test = new LocalDateTime(date, PARIS); 440 assertEquals(ISO_UTC, test.getChronology()); 441 assertEquals(1970, test.getYear()); 442 assertEquals(4, test.getMonthOfYear()); 443 assertEquals(6, test.getDayOfMonth()); 444 assertEquals(12 + OFFSET_PARIS, test.getHourOfDay()); 445 assertEquals(24, test.getMinuteOfHour()); 446 assertEquals(0, test.getSecondOfMinute()); 447 assertEquals(0, test.getMillisOfSecond()); 448 } 449 450 public void testConstructor_Object_DateTimeZoneMoscow() throws Throwable { 451 LocalDateTime test = new LocalDateTime("1970-04-06T12:24:00", MOSCOW); 452 assertEquals(ISO_UTC, test.getChronology()); 453 assertEquals(1970, test.getYear()); 454 assertEquals(4, test.getMonthOfYear()); 455 assertEquals(6, test.getDayOfMonth()); 456 assertEquals(12, test.getHourOfDay()); 457 assertEquals(24, test.getMinuteOfHour()); 458 assertEquals(0, test.getSecondOfMinute()); 459 assertEquals(0, test.getMillisOfSecond()); 460 } 461 462 public void testConstructor_Object_DateTimeZoneMoscowBadDateTime() throws Throwable { 463 466 LocalDateTime test = new LocalDateTime("1981-04-01T00:30:00", MOSCOW); assertEquals(ISO_UTC, test.getChronology()); 469 assertEquals(1981, test.getYear()); 470 assertEquals(4, test.getMonthOfYear()); 471 assertEquals(1, test.getDayOfMonth()); 472 assertEquals(0, test.getHourOfDay()); 473 assertEquals(30, test.getMinuteOfHour()); 474 assertEquals(0, test.getSecondOfMinute()); 475 assertEquals(0, test.getMillisOfSecond()); 476 } 477 478 public void testConstructor_nullObject_DateTimeZone() throws Throwable { 479 LocalDateTime test = new LocalDateTime((Object ) null, PARIS); 480 assertEquals(ISO_UTC, test.getChronology()); 481 assertEquals(1970, test.getYear()); 482 assertEquals(6, test.getMonthOfYear()); 483 assertEquals(9, test.getDayOfMonth()); 484 assertEquals(10 + OFFSET_PARIS, test.getHourOfDay()); 485 assertEquals(20, test.getMinuteOfHour()); 486 assertEquals(30, test.getSecondOfMinute()); 487 assertEquals(40, test.getMillisOfSecond()); 488 } 489 490 public void testConstructor_Object_nullDateTimeZone() throws Throwable { 491 Date date = new Date (TEST_TIME1); 492 LocalDateTime test = new LocalDateTime(date, (DateTimeZone) null); 493 assertEquals(ISO_UTC, test.getChronology()); 494 assertEquals(1970, test.getYear()); 495 assertEquals(4, test.getMonthOfYear()); 496 assertEquals(6, test.getDayOfMonth()); 497 assertEquals(12 + OFFSET_MOSCOW, test.getHourOfDay()); 498 assertEquals(24, test.getMinuteOfHour()); 499 assertEquals(0, test.getSecondOfMinute()); 500 assertEquals(0, test.getMillisOfSecond()); 501 } 502 503 public void testConstructor_nullObject_nullDateTimeZone() throws Throwable { 504 LocalDateTime test = new LocalDateTime((Object ) null, (DateTimeZone) null); 505 assertEquals(ISO_UTC, test.getChronology()); 506 assertEquals(1970, test.getYear()); 507 assertEquals(6, test.getMonthOfYear()); 508 assertEquals(9, test.getDayOfMonth()); 509 assertEquals(10 + OFFSET_MOSCOW, test.getHourOfDay()); 510 assertEquals(20, test.getMinuteOfHour()); 511 assertEquals(30, test.getSecondOfMinute()); 512 assertEquals(40, test.getMillisOfSecond()); 513 } 514 515 public void testConstructor_Object_Chronology() throws Throwable { 517 Date date = new Date (TEST_TIME1); 518 LocalDateTime test = new LocalDateTime(date, GREGORIAN_PARIS); 519 assertEquals(GREGORIAN_UTC, test.getChronology()); 520 assertEquals(1970, test.getYear()); 521 assertEquals(4, test.getMonthOfYear()); 522 assertEquals(6, test.getDayOfMonth()); 523 assertEquals(12 + OFFSET_PARIS, test.getHourOfDay()); 524 assertEquals(24, test.getMinuteOfHour()); 525 assertEquals(0, test.getSecondOfMinute()); 526 assertEquals(0, test.getMillisOfSecond()); 527 } 528 529 public void testConstructor_Object_ChronologyMoscow() throws Throwable { 530 LocalDateTime test = new LocalDateTime("1970-04-06T12:24:00", GREGORIAN_MOSCOW); 531 assertEquals(GREGORIAN_UTC, test.getChronology()); 532 assertEquals(1970, test.getYear()); 533 assertEquals(4, test.getMonthOfYear()); 534 assertEquals(6, test.getDayOfMonth()); 535 assertEquals(12, test.getHourOfDay()); 536 assertEquals(24, test.getMinuteOfHour()); 537 assertEquals(0, test.getSecondOfMinute()); 538 assertEquals(0, test.getMillisOfSecond()); 539 } 540 541 public void testConstructor_Object_ChronologyMoscowBadDateTime() throws Throwable { 542 545 LocalDateTime test = new LocalDateTime("1981-04-01T00:30:00", GREGORIAN_MOSCOW); assertEquals(GREGORIAN_UTC, test.getChronology()); 548 assertEquals(1981, test.getYear()); 549 assertEquals(4, test.getMonthOfYear()); 550 assertEquals(1, test.getDayOfMonth()); 551 assertEquals(0, test.getHourOfDay()); 552 assertEquals(30, test.getMinuteOfHour()); 553 assertEquals(0, test.getSecondOfMinute()); 554 assertEquals(0, test.getMillisOfSecond()); 555 } 556 557 public void testConstructor_nullObject_Chronology() throws Throwable { 558 LocalDateTime test = new LocalDateTime((Object ) null, GREGORIAN_PARIS); 559 assertEquals(GREGORIAN_UTC, test.getChronology()); 560 assertEquals(1970, test.getYear()); 561 assertEquals(6, test.getMonthOfYear()); 562 assertEquals(9, test.getDayOfMonth()); 563 assertEquals(10 + OFFSET_PARIS, test.getHourOfDay()); 564 assertEquals(20, test.getMinuteOfHour()); 565 assertEquals(30, test.getSecondOfMinute()); 566 assertEquals(40, test.getMillisOfSecond()); 567 } 568 569 public void testConstructor_Object_nullChronology() throws Throwable { 570 Date date = new Date (TEST_TIME1); 571 LocalDateTime test = new LocalDateTime(date, (Chronology) null); 572 assertEquals(ISO_UTC, test.getChronology()); 573 assertEquals(1970, test.getYear()); 574 assertEquals(4, test.getMonthOfYear()); 575 assertEquals(6, test.getDayOfMonth()); 576 assertEquals(12 + OFFSET_MOSCOW, test.getHourOfDay()); 577 assertEquals(24, test.getMinuteOfHour()); 578 assertEquals(0, test.getSecondOfMinute()); 579 assertEquals(0, test.getMillisOfSecond()); 580 } 581 582 public void testConstructor_nullObject_nullChronology() throws Throwable { 583 LocalDateTime test = new LocalDateTime((Object ) null, (Chronology) null); 584 assertEquals(ISO_UTC, test.getChronology()); 585 assertEquals(1970, test.getYear()); 586 assertEquals(6, test.getMonthOfYear()); 587 assertEquals(9, test.getDayOfMonth()); 588 assertEquals(10 + OFFSET_MOSCOW, test.getHourOfDay()); 589 assertEquals(20, test.getMinuteOfHour()); 590 assertEquals(30, test.getSecondOfMinute()); 591 assertEquals(40, test.getMillisOfSecond()); 592 } 593 594 public void testConstructor_int_int_int_int_int() throws Throwable { 596 LocalDateTime test = new LocalDateTime(2005, 6, 9, 10, 20); 597 assertEquals(ISO_UTC, test.getChronology()); 598 assertEquals(2005, test.getYear()); 599 assertEquals(6, test.getMonthOfYear()); 600 assertEquals(9, test.getDayOfMonth()); 601 assertEquals(10, test.getHourOfDay()); 602 assertEquals(20, test.getMinuteOfHour()); 603 assertEquals(0, test.getSecondOfMinute()); 604 assertEquals(0, test.getMillisOfSecond()); 605 } 606 607 public void testConstructor_int_int_int_int_int_int() throws Throwable { 609 LocalDateTime test = new LocalDateTime(2005, 6, 9, 10, 20, 30); 610 assertEquals(ISO_UTC, test.getChronology()); 611 assertEquals(2005, test.getYear()); 612 assertEquals(6, test.getMonthOfYear()); 613 assertEquals(9, test.getDayOfMonth()); 614 assertEquals(10, test.getHourOfDay()); 615 assertEquals(20, test.getMinuteOfHour()); 616 assertEquals(30, test.getSecondOfMinute()); 617 assertEquals(0, test.getMillisOfSecond()); 618 } 619 620 public void testConstructor_int_int_int_int_int_int_int() throws Throwable { 622 LocalDateTime test = new LocalDateTime(2005, 6, 9, 10, 20, 30, 40); 623 assertEquals(ISO_UTC, test.getChronology()); 624 assertEquals(2005, test.getYear()); 625 assertEquals(6, test.getMonthOfYear()); 626 assertEquals(9, test.getDayOfMonth()); 627 assertEquals(10, test.getHourOfDay()); 628 assertEquals(20, test.getMinuteOfHour()); 629 assertEquals(30, test.getSecondOfMinute()); 630 assertEquals(40, test.getMillisOfSecond()); 631 try { 632 new LocalDateTime(Integer.MIN_VALUE, 6, 9, 10, 20, 30, 40); 633 fail(); 634 } catch (IllegalArgumentException ex) {} 635 try { 636 new LocalDateTime(Integer.MAX_VALUE, 6, 9, 10, 20, 30, 40); 637 fail(); 638 } catch (IllegalArgumentException ex) {} 639 try { 640 new LocalDateTime(2005, 0, 9, 10, 20, 30, 40); 641 fail(); 642 } catch (IllegalArgumentException ex) {} 643 try { 644 new LocalDateTime(2005, 13, 9, 10, 20, 30, 40); 645 fail(); 646 } catch (IllegalArgumentException ex) {} 647 try { 648 new LocalDateTime(2005, 6, 0, 10, 20, 30, 40); 649 fail(); 650 } catch (IllegalArgumentException ex) {} 651 try { 652 new LocalDateTime(2005, 6, 31, 10, 20, 30, 40); 653 fail(); 654 } catch (IllegalArgumentException ex) {} 655 new LocalDateTime(2005, 7, 31, 10, 20, 30, 40); 656 try { 657 new LocalDateTime(2005, 7, 32, 10, 20, 30, 40); 658 fail(); 659 } catch (IllegalArgumentException ex) {} 660 } 661 662 public void testConstructor_int_int_int_Chronology() throws Throwable { 663 LocalDateTime test = new LocalDateTime(2005, 6, 9, 10, 20, 30, 40, GREGORIAN_PARIS); 664 assertEquals(GREGORIAN_UTC, test.getChronology()); 665 assertEquals(2005, test.getYear()); 666 assertEquals(6, test.getMonthOfYear()); 667 assertEquals(9, test.getDayOfMonth()); 668 assertEquals(10, test.getHourOfDay()); assertEquals(20, test.getMinuteOfHour()); 670 assertEquals(30, test.getSecondOfMinute()); 671 assertEquals(40, test.getMillisOfSecond()); 672 try { 673 new LocalDateTime(Integer.MIN_VALUE, 6, 9, 10, 20, 30, 40, GREGORIAN_PARIS); 674 fail(); 675 } catch (IllegalArgumentException ex) {} 676 try { 677 new LocalDateTime(Integer.MAX_VALUE, 6, 9, 10, 20, 30, 40, GREGORIAN_PARIS); 678 fail(); 679 } catch (IllegalArgumentException ex) {} 680 try { 681 new LocalDateTime(2005, 0, 9, 10, 20, 30, 40, GREGORIAN_PARIS); 682 fail(); 683 } catch (IllegalArgumentException ex) {} 684 try { 685 new LocalDateTime(2005, 13, 9, 10, 20, 30, 40, GREGORIAN_PARIS); 686 fail(); 687 } catch (IllegalArgumentException ex) {} 688 try { 689 new LocalDateTime(2005, 6, 0, 10, 20, 30, 40, GREGORIAN_PARIS); 690 fail(); 691 } catch (IllegalArgumentException ex) {} 692 try { 693 new LocalDateTime(2005, 6, 31, 10, 20, 30, 40, GREGORIAN_PARIS); 694 fail(); 695 } catch (IllegalArgumentException ex) {} 696 new LocalDateTime(2005, 7, 31, 10, 20, 30, 40, GREGORIAN_PARIS); 697 try { 698 new LocalDateTime(2005, 7, 32, 10, 20, 30, 40, GREGORIAN_PARIS); 699 fail(); 700 } catch (IllegalArgumentException ex) {} 701 } 702 703 public void testConstructor_int_int_int_nullChronology() throws Throwable { 704 LocalDateTime test = new LocalDateTime(2005, 6, 9, 10, 20, 30, 40, null); 705 assertEquals(ISO_UTC, test.getChronology()); 706 assertEquals(2005, test.getYear()); 707 assertEquals(6, test.getMonthOfYear()); 708 assertEquals(9, test.getDayOfMonth()); 709 } 710 711 } 712 | Popular Tags |