001 /* 002 * Copyright 2001-2010 Stephen Colebourne 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.joda.time; 017 018 import java.util.Locale; 019 020 import junit.framework.TestCase; 021 import junit.framework.TestSuite; 022 023 import org.joda.time.chrono.CopticChronology; 024 import org.joda.time.chrono.LenientChronology; 025 import org.joda.time.chrono.StrictChronology; 026 027 /** 028 * This class is a Junit unit test for YearMonthDay. 029 * 030 * @author Stephen Colebourne 031 */ 032 public class TestLocalDate_Properties extends TestCase { 033 034 private static final DateTimeZone PARIS = DateTimeZone.forID("Europe/Paris"); 035 private static final Chronology COPTIC_PARIS = CopticChronology.getInstance(PARIS); 036 037 private long TEST_TIME_NOW = 038 (31L + 28L + 31L + 30L + 31L + 9L -1L) * DateTimeConstants.MILLIS_PER_DAY; 039 040 private long TEST_TIME1 = 041 (31L + 28L + 31L + 6L -1L) * DateTimeConstants.MILLIS_PER_DAY 042 + 12L * DateTimeConstants.MILLIS_PER_HOUR 043 + 24L * DateTimeConstants.MILLIS_PER_MINUTE; 044 045 private long TEST_TIME2 = 046 (365L + 31L + 28L + 31L + 30L + 7L -1L) * DateTimeConstants.MILLIS_PER_DAY 047 + 14L * DateTimeConstants.MILLIS_PER_HOUR 048 + 28L * DateTimeConstants.MILLIS_PER_MINUTE; 049 050 private DateTimeZone zone = null; 051 052 private Locale systemDefaultLocale = null; 053 054 public static void main(String[] args) { 055 junit.textui.TestRunner.run(suite()); 056 } 057 058 public static TestSuite suite() { 059 return new TestSuite(TestLocalDate_Properties.class); 060 } 061 062 public TestLocalDate_Properties(String name) { 063 super(name); 064 } 065 066 protected void setUp() throws Exception { 067 DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW); 068 zone = DateTimeZone.getDefault(); 069 DateTimeZone.setDefault(DateTimeZone.UTC); 070 systemDefaultLocale = Locale.getDefault(); 071 Locale.setDefault(Locale.ENGLISH); 072 } 073 074 protected void tearDown() throws Exception { 075 DateTimeUtils.setCurrentMillisSystem(); 076 DateTimeZone.setDefault(zone); 077 zone = null; 078 Locale.setDefault(systemDefaultLocale); 079 systemDefaultLocale = null; 080 } 081 082 //----------------------------------------------------------------------- 083 public void testPropertyGetYear() { 084 LocalDate test = new LocalDate(1972, 6, 9); 085 assertSame(test.getChronology().year(), test.year().getField()); 086 assertEquals("year", test.year().getName()); 087 assertEquals("Property[year]", test.year().toString()); 088 assertSame(test, test.year().getLocalDate()); 089 assertEquals(1972, test.year().get()); 090 assertEquals("1972", test.year().getAsString()); 091 assertEquals("1972", test.year().getAsText()); 092 assertEquals("1972", test.year().getAsText(Locale.FRENCH)); 093 assertEquals("1972", test.year().getAsShortText()); 094 assertEquals("1972", test.year().getAsShortText(Locale.FRENCH)); 095 assertEquals(test.getChronology().years(), test.year().getDurationField()); 096 assertEquals(null, test.year().getRangeDurationField()); 097 assertEquals(9, test.year().getMaximumTextLength(null)); 098 assertEquals(9, test.year().getMaximumShortTextLength(null)); 099 } 100 101 public void testPropertyGetMaxMinValuesYear() { 102 LocalDate test = new LocalDate(1972, 6, 9); 103 assertEquals(-292275054, test.year().getMinimumValue()); 104 assertEquals(-292275054, test.year().getMinimumValueOverall()); 105 assertEquals(292278993, test.year().getMaximumValue()); 106 assertEquals(292278993, test.year().getMaximumValueOverall()); 107 } 108 109 public void testPropertyAddToCopyYear() { 110 LocalDate test = new LocalDate(1972, 6, 9); 111 LocalDate copy = test.year().addToCopy(9); 112 check(test, 1972, 6, 9); 113 check(copy, 1981, 6, 9); 114 115 copy = test.year().addToCopy(0); 116 check(copy, 1972, 6, 9); 117 118 copy = test.year().addToCopy(292278993 - 1972); 119 check(copy, 292278993, 6, 9); 120 121 try { 122 test.year().addToCopy(292278993 - 1972 + 1); 123 fail(); 124 } catch (IllegalArgumentException ex) {} 125 check(test, 1972, 6, 9); 126 127 copy = test.year().addToCopy(-1972); 128 check(copy, 0, 6, 9); 129 130 copy = test.year().addToCopy(-1973); 131 check(copy, -1, 6, 9); 132 133 try { 134 test.year().addToCopy(-292275054 - 1972 - 1); 135 fail(); 136 } catch (IllegalArgumentException ex) {} 137 check(test, 1972, 6, 9); 138 } 139 140 public void testPropertyAddWrapFieldToCopyYear() { 141 LocalDate test = new LocalDate(1972, 6, 9); 142 LocalDate copy = test.year().addWrapFieldToCopy(9); 143 check(test, 1972, 6, 9); 144 check(copy, 1981, 6, 9); 145 146 copy = test.year().addWrapFieldToCopy(0); 147 check(copy, 1972, 6, 9); 148 149 copy = test.year().addWrapFieldToCopy(292278993 - 1972 + 1); 150 check(copy, -292275054, 6, 9); 151 152 copy = test.year().addWrapFieldToCopy(-292275054 - 1972 - 1); 153 check(copy, 292278993, 6, 9); 154 } 155 156 public void testPropertySetCopyYear() { 157 LocalDate test = new LocalDate(1972, 6, 9); 158 LocalDate copy = test.year().setCopy(12); 159 check(test, 1972, 6, 9); 160 check(copy, 12, 6, 9); 161 } 162 163 public void testPropertySetCopyTextYear() { 164 LocalDate test = new LocalDate(1972, 6, 9); 165 LocalDate copy = test.year().setCopy("12"); 166 check(test, 1972, 6, 9); 167 check(copy, 12, 6, 9); 168 } 169 170 public void testPropertyCompareToYear() { 171 LocalDate test1 = new LocalDate(TEST_TIME1); 172 LocalDate test2 = new LocalDate(TEST_TIME2); 173 assertEquals(true, test1.year().compareTo(test2) < 0); 174 assertEquals(true, test2.year().compareTo(test1) > 0); 175 assertEquals(true, test1.year().compareTo(test1) == 0); 176 try { 177 test1.year().compareTo((ReadablePartial) null); 178 fail(); 179 } catch (IllegalArgumentException ex) {} 180 181 DateTime dt1 = new DateTime(TEST_TIME1); 182 DateTime dt2 = new DateTime(TEST_TIME2); 183 assertEquals(true, test1.year().compareTo(dt2) < 0); 184 assertEquals(true, test2.year().compareTo(dt1) > 0); 185 assertEquals(true, test1.year().compareTo(dt1) == 0); 186 try { 187 test1.year().compareTo((ReadableInstant) null); 188 fail(); 189 } catch (IllegalArgumentException ex) {} 190 } 191 192 //----------------------------------------------------------------------- 193 public void testPropertyGetMonth() { 194 LocalDate test = new LocalDate(1972, 6, 9); 195 assertSame(test.getChronology().monthOfYear(), test.monthOfYear().getField()); 196 assertEquals("monthOfYear", test.monthOfYear().getName()); 197 assertEquals("Property[monthOfYear]", test.monthOfYear().toString()); 198 assertSame(test, test.monthOfYear().getLocalDate()); 199 assertEquals(6, test.monthOfYear().get()); 200 assertEquals("6", test.monthOfYear().getAsString()); 201 assertEquals("June", test.monthOfYear().getAsText()); 202 assertEquals("juin", test.monthOfYear().getAsText(Locale.FRENCH)); 203 assertEquals("Jun", test.monthOfYear().getAsShortText()); 204 assertEquals("juin", test.monthOfYear().getAsShortText(Locale.FRENCH)); 205 assertEquals(test.getChronology().months(), test.monthOfYear().getDurationField()); 206 assertEquals(test.getChronology().years(), test.monthOfYear().getRangeDurationField()); 207 assertEquals(9, test.monthOfYear().getMaximumTextLength(null)); 208 assertEquals(3, test.monthOfYear().getMaximumShortTextLength(null)); 209 test = new LocalDate(1972, 7, 9); 210 assertEquals("juillet", test.monthOfYear().getAsText(Locale.FRENCH)); 211 assertEquals("juil.", test.monthOfYear().getAsShortText(Locale.FRENCH)); 212 } 213 214 public void testPropertyGetMaxMinValuesMonth() { 215 LocalDate test = new LocalDate(1972, 6, 9); 216 assertEquals(1, test.monthOfYear().getMinimumValue()); 217 assertEquals(1, test.monthOfYear().getMinimumValueOverall()); 218 assertEquals(12, test.monthOfYear().getMaximumValue()); 219 assertEquals(12, test.monthOfYear().getMaximumValueOverall()); 220 } 221 222 public void testPropertyAddToCopyMonth() { 223 LocalDate test = new LocalDate(1972, 6, 9); 224 LocalDate copy = test.monthOfYear().addToCopy(6); 225 check(test, 1972, 6, 9); 226 check(copy, 1972, 12, 9); 227 228 copy = test.monthOfYear().addToCopy(7); 229 check(copy, 1973, 1, 9); 230 231 copy = test.monthOfYear().addToCopy(-5); 232 check(copy, 1972, 1, 9); 233 234 copy = test.monthOfYear().addToCopy(-6); 235 check(copy, 1971, 12, 9); 236 237 test = new LocalDate(1972, 1, 31); 238 copy = test.monthOfYear().addToCopy(1); 239 check(copy, 1972, 2, 29); 240 241 copy = test.monthOfYear().addToCopy(2); 242 check(copy, 1972, 3, 31); 243 244 copy = test.monthOfYear().addToCopy(3); 245 check(copy, 1972, 4, 30); 246 247 test = new LocalDate(1971, 1, 31); 248 copy = test.monthOfYear().addToCopy(1); 249 check(copy, 1971, 2, 28); 250 } 251 252 public void testPropertyAddWrapFieldToCopyMonth() { 253 LocalDate test = new LocalDate(1972, 6, 9); 254 LocalDate copy = test.monthOfYear().addWrapFieldToCopy(4); 255 check(test, 1972, 6, 9); 256 check(copy, 1972, 10, 9); 257 258 copy = test.monthOfYear().addWrapFieldToCopy(8); 259 check(copy, 1972, 2, 9); 260 261 copy = test.monthOfYear().addWrapFieldToCopy(-8); 262 check(copy, 1972, 10, 9); 263 264 test = new LocalDate(1972, 1, 31); 265 copy = test.monthOfYear().addWrapFieldToCopy(1); 266 check(copy, 1972, 2, 29); 267 268 copy = test.monthOfYear().addWrapFieldToCopy(2); 269 check(copy, 1972, 3, 31); 270 271 copy = test.monthOfYear().addWrapFieldToCopy(3); 272 check(copy, 1972, 4, 30); 273 274 test = new LocalDate(1971, 1, 31); 275 copy = test.monthOfYear().addWrapFieldToCopy(1); 276 check(copy, 1971, 2, 28); 277 } 278 279 public void testPropertySetCopyMonth() { 280 LocalDate test = new LocalDate(1972, 6, 9); 281 LocalDate copy = test.monthOfYear().setCopy(12); 282 check(test, 1972, 6, 9); 283 check(copy, 1972, 12, 9); 284 285 test = new LocalDate(1972, 1, 31); 286 copy = test.monthOfYear().setCopy(2); 287 check(copy, 1972, 2, 29); 288 289 try { 290 test.monthOfYear().setCopy(13); 291 fail(); 292 } catch (IllegalArgumentException ex) {} 293 try { 294 test.monthOfYear().setCopy(0); 295 fail(); 296 } catch (IllegalArgumentException ex) {} 297 } 298 299 public void testPropertySetCopyTextMonth() { 300 LocalDate test = new LocalDate(1972, 6, 9); 301 LocalDate copy = test.monthOfYear().setCopy("12"); 302 check(test, 1972, 6, 9); 303 check(copy, 1972, 12, 9); 304 305 copy = test.monthOfYear().setCopy("December"); 306 check(test, 1972, 6, 9); 307 check(copy, 1972, 12, 9); 308 309 copy = test.monthOfYear().setCopy("Dec"); 310 check(test, 1972, 6, 9); 311 check(copy, 1972, 12, 9); 312 } 313 314 public void testPropertyCompareToMonth() { 315 LocalDate test1 = new LocalDate(TEST_TIME1); 316 LocalDate test2 = new LocalDate(TEST_TIME2); 317 assertEquals(true, test1.monthOfYear().compareTo(test2) < 0); 318 assertEquals(true, test2.monthOfYear().compareTo(test1) > 0); 319 assertEquals(true, test1.monthOfYear().compareTo(test1) == 0); 320 try { 321 test1.monthOfYear().compareTo((ReadablePartial) null); 322 fail(); 323 } catch (IllegalArgumentException ex) {} 324 325 DateTime dt1 = new DateTime(TEST_TIME1); 326 DateTime dt2 = new DateTime(TEST_TIME2); 327 assertEquals(true, test1.monthOfYear().compareTo(dt2) < 0); 328 assertEquals(true, test2.monthOfYear().compareTo(dt1) > 0); 329 assertEquals(true, test1.monthOfYear().compareTo(dt1) == 0); 330 try { 331 test1.monthOfYear().compareTo((ReadableInstant) null); 332 fail(); 333 } catch (IllegalArgumentException ex) {} 334 } 335 336 //----------------------------------------------------------------------- 337 public void testPropertyGetDay() { 338 LocalDate test = new LocalDate(1972, 6, 9); 339 assertSame(test.getChronology().dayOfMonth(), test.dayOfMonth().getField()); 340 assertEquals("dayOfMonth", test.dayOfMonth().getName()); 341 assertEquals("Property[dayOfMonth]", test.dayOfMonth().toString()); 342 assertSame(test, test.dayOfMonth().getLocalDate()); 343 assertEquals(9, test.dayOfMonth().get()); 344 assertEquals("9", test.dayOfMonth().getAsString()); 345 assertEquals("9", test.dayOfMonth().getAsText()); 346 assertEquals("9", test.dayOfMonth().getAsText(Locale.FRENCH)); 347 assertEquals("9", test.dayOfMonth().getAsShortText()); 348 assertEquals("9", test.dayOfMonth().getAsShortText(Locale.FRENCH)); 349 assertEquals(test.getChronology().days(), test.dayOfMonth().getDurationField()); 350 assertEquals(test.getChronology().months(), test.dayOfMonth().getRangeDurationField()); 351 assertEquals(2, test.dayOfMonth().getMaximumTextLength(null)); 352 assertEquals(2, test.dayOfMonth().getMaximumShortTextLength(null)); 353 } 354 355 public void testPropertyGetMaxMinValuesDay() { 356 LocalDate test = new LocalDate(1972, 6, 9); 357 assertEquals(1, test.dayOfMonth().getMinimumValue()); 358 assertEquals(1, test.dayOfMonth().getMinimumValueOverall()); 359 assertEquals(30, test.dayOfMonth().getMaximumValue()); 360 assertEquals(31, test.dayOfMonth().getMaximumValueOverall()); 361 test = new LocalDate(1972, 7, 9); 362 assertEquals(31, test.dayOfMonth().getMaximumValue()); 363 test = new LocalDate(1972, 2, 9); 364 assertEquals(29, test.dayOfMonth().getMaximumValue()); 365 test = new LocalDate(1971, 2, 9); 366 assertEquals(28, test.dayOfMonth().getMaximumValue()); 367 } 368 369 public void testPropertyAddToCopyDay() { 370 LocalDate test = new LocalDate(1972, 6, 9); 371 LocalDate copy = test.dayOfMonth().addToCopy(9); 372 check(test, 1972, 6, 9); 373 check(copy, 1972, 6, 18); 374 375 copy = test.dayOfMonth().addToCopy(21); 376 check(copy, 1972, 6, 30); 377 378 copy = test.dayOfMonth().addToCopy(22); 379 check(copy, 1972, 7, 1); 380 381 copy = test.dayOfMonth().addToCopy(22 + 30); 382 check(copy, 1972, 7, 31); 383 384 copy = test.dayOfMonth().addToCopy(22 + 31); 385 check(copy, 1972, 8, 1); 386 387 copy = test.dayOfMonth().addToCopy(21 + 31 + 31 + 30 + 31 + 30 + 31); 388 check(copy, 1972, 12, 31); 389 390 copy = test.dayOfMonth().addToCopy(22 + 31 + 31 + 30 + 31 + 30 + 31); 391 check(copy, 1973, 1, 1); 392 393 copy = test.dayOfMonth().addToCopy(-8); 394 check(copy, 1972, 6, 1); 395 396 copy = test.dayOfMonth().addToCopy(-9); 397 check(copy, 1972, 5, 31); 398 399 copy = test.dayOfMonth().addToCopy(-8 - 31 - 30 - 31 - 29 - 31); 400 check(copy, 1972, 1, 1); 401 402 copy = test.dayOfMonth().addToCopy(-9 - 31 - 30 - 31 - 29 - 31); 403 check(copy, 1971, 12, 31); 404 } 405 406 public void testPropertyAddWrapFieldToCopyDay() { 407 LocalDate test = new LocalDate(1972, 6, 9); 408 LocalDate copy = test.dayOfMonth().addWrapFieldToCopy(21); 409 check(test, 1972, 6, 9); 410 check(copy, 1972, 6, 30); 411 412 copy = test.dayOfMonth().addWrapFieldToCopy(22); 413 check(copy, 1972, 6, 1); 414 415 copy = test.dayOfMonth().addWrapFieldToCopy(-12); 416 check(copy, 1972, 6, 27); 417 418 test = new LocalDate(1972, 7, 9); 419 copy = test.dayOfMonth().addWrapFieldToCopy(21); 420 check(copy, 1972, 7, 30); 421 422 copy = test.dayOfMonth().addWrapFieldToCopy(22); 423 check(copy, 1972, 7, 31); 424 425 copy = test.dayOfMonth().addWrapFieldToCopy(23); 426 check(copy, 1972, 7, 1); 427 428 copy = test.dayOfMonth().addWrapFieldToCopy(-12); 429 check(copy, 1972, 7, 28); 430 } 431 432 public void testPropertySetCopyDay() { 433 LocalDate test = new LocalDate(1972, 6, 9); 434 LocalDate copy = test.dayOfMonth().setCopy(12); 435 check(test, 1972, 6, 9); 436 check(copy, 1972, 6, 12); 437 438 try { 439 test.dayOfMonth().setCopy(31); 440 fail(); 441 } catch (IllegalArgumentException ex) {} 442 try { 443 test.dayOfMonth().setCopy(0); 444 fail(); 445 } catch (IllegalArgumentException ex) {} 446 } 447 448 public void testPropertySetCopyTextDay() { 449 LocalDate test = new LocalDate(1972, 6, 9); 450 LocalDate copy = test.dayOfMonth().setCopy("12"); 451 check(test, 1972, 6, 9); 452 check(copy, 1972, 6, 12); 453 } 454 455 public void testPropertyWithMaximumValueDayOfMonth() { 456 LocalDate test = new LocalDate(1972, 6, 9); 457 LocalDate copy = test.dayOfMonth().withMaximumValue(); 458 check(test, 1972, 6, 9); 459 check(copy, 1972, 6, 30); 460 } 461 462 public void testPropertyWithMinimumValueDayOfMonth() { 463 LocalDate test = new LocalDate(1972, 6, 9); 464 LocalDate copy = test.dayOfMonth().withMinimumValue(); 465 check(test, 1972, 6, 9); 466 check(copy, 1972, 6, 1); 467 } 468 469 public void testPropertyCompareToDay() { 470 LocalDate test1 = new LocalDate(TEST_TIME1); 471 LocalDate test2 = new LocalDate(TEST_TIME2); 472 assertEquals(true, test1.dayOfMonth().compareTo(test2) < 0); 473 assertEquals(true, test2.dayOfMonth().compareTo(test1) > 0); 474 assertEquals(true, test1.dayOfMonth().compareTo(test1) == 0); 475 try { 476 test1.dayOfMonth().compareTo((ReadablePartial) null); 477 fail(); 478 } catch (IllegalArgumentException ex) {} 479 480 DateTime dt1 = new DateTime(TEST_TIME1); 481 DateTime dt2 = new DateTime(TEST_TIME2); 482 assertEquals(true, test1.dayOfMonth().compareTo(dt2) < 0); 483 assertEquals(true, test2.dayOfMonth().compareTo(dt1) > 0); 484 assertEquals(true, test1.dayOfMonth().compareTo(dt1) == 0); 485 try { 486 test1.dayOfMonth().compareTo((ReadableInstant) null); 487 fail(); 488 } catch (IllegalArgumentException ex) {} 489 } 490 491 public void testPropertyEquals() { 492 LocalDate test1 = new LocalDate(2005, 11, 8); 493 LocalDate test2 = new LocalDate(2005, 11, 9); 494 LocalDate test3 = new LocalDate(2005, 11, 8, CopticChronology.getInstanceUTC()); 495 assertEquals(false, test1.dayOfMonth().equals(test1.year())); 496 assertEquals(false, test1.dayOfMonth().equals(test1.monthOfYear())); 497 assertEquals(true, test1.dayOfMonth().equals(test1.dayOfMonth())); 498 assertEquals(false, test1.dayOfMonth().equals(test2.year())); 499 assertEquals(false, test1.dayOfMonth().equals(test2.monthOfYear())); 500 assertEquals(false, test1.dayOfMonth().equals(test2.dayOfMonth())); 501 502 assertEquals(false, test1.monthOfYear().equals(test1.year())); 503 assertEquals(true, test1.monthOfYear().equals(test1.monthOfYear())); 504 assertEquals(false, test1.monthOfYear().equals(test1.dayOfMonth())); 505 assertEquals(false, test1.monthOfYear().equals(test2.year())); 506 assertEquals(true, test1.monthOfYear().equals(test2.monthOfYear())); 507 assertEquals(false, test1.monthOfYear().equals(test2.dayOfMonth())); 508 509 assertEquals(false, test1.dayOfMonth().equals(null)); 510 assertEquals(false, test1.dayOfMonth().equals("any")); 511 512 // chrono 513 assertEquals(false, test1.dayOfMonth().equals(test3.dayOfMonth())); 514 } 515 516 public void testPropertyHashCode() { 517 LocalDate test1 = new LocalDate(2005, 11, 8); 518 LocalDate test2 = new LocalDate(2005, 11, 9); 519 assertEquals(true, test1.dayOfMonth().hashCode() == test1.dayOfMonth().hashCode()); 520 assertEquals(false, test1.dayOfMonth().hashCode() == test2.dayOfMonth().hashCode()); 521 assertEquals(true, test1.monthOfYear().hashCode() == test1.monthOfYear().hashCode()); 522 assertEquals(true, test1.monthOfYear().hashCode() == test2.monthOfYear().hashCode()); 523 } 524 525 public void testPropertyEqualsHashCodeLenient() { 526 LocalDate test1 = new LocalDate(1970, 6, 9, LenientChronology.getInstance(COPTIC_PARIS)); 527 LocalDate test2 = new LocalDate(1970, 6, 9, LenientChronology.getInstance(COPTIC_PARIS)); 528 assertEquals(true, test1.dayOfMonth().equals(test2.dayOfMonth())); 529 assertEquals(true, test2.dayOfMonth().equals(test1.dayOfMonth())); 530 assertEquals(true, test1.dayOfMonth().equals(test1.dayOfMonth())); 531 assertEquals(true, test2.dayOfMonth().equals(test2.dayOfMonth())); 532 assertEquals(true, test1.dayOfMonth().hashCode() == test2.dayOfMonth().hashCode()); 533 assertEquals(true, test1.dayOfMonth().hashCode() == test1.dayOfMonth().hashCode()); 534 assertEquals(true, test2.dayOfMonth().hashCode() == test2.dayOfMonth().hashCode()); 535 } 536 537 public void testPropertyEqualsHashCodeStrict() { 538 LocalDate test1 = new LocalDate(1970, 6, 9, StrictChronology.getInstance(COPTIC_PARIS)); 539 LocalDate test2 = new LocalDate(1970, 6, 9, StrictChronology.getInstance(COPTIC_PARIS)); 540 assertEquals(true, test1.dayOfMonth().equals(test2.dayOfMonth())); 541 assertEquals(true, test2.dayOfMonth().equals(test1.dayOfMonth())); 542 assertEquals(true, test1.dayOfMonth().equals(test1.dayOfMonth())); 543 assertEquals(true, test2.dayOfMonth().equals(test2.dayOfMonth())); 544 assertEquals(true, test1.dayOfMonth().hashCode() == test2.dayOfMonth().hashCode()); 545 assertEquals(true, test1.dayOfMonth().hashCode() == test1.dayOfMonth().hashCode()); 546 assertEquals(true, test2.dayOfMonth().hashCode() == test2.dayOfMonth().hashCode()); 547 } 548 549 //----------------------------------------------------------------------- 550 private void check(LocalDate test, int year, int month, int day) { 551 assertEquals(year, test.getYear()); 552 assertEquals(month, test.getMonthOfYear()); 553 assertEquals(day, test.getDayOfMonth()); 554 } 555 }