1 16 package org.joda.time; 17 18 import java.io.ByteArrayInputStream ; 19 import java.io.ByteArrayOutputStream ; 20 import java.io.ObjectInputStream ; 21 import java.io.ObjectOutputStream ; 22 import java.util.Locale ; 23 import java.util.TimeZone ; 24 25 import junit.framework.TestCase; 26 import junit.framework.TestSuite; 27 28 import org.joda.time.base.AbstractInterval; 29 import org.joda.time.chrono.BuddhistChronology; 30 import org.joda.time.chrono.CopticChronology; 31 import org.joda.time.chrono.GJChronology; 32 import org.joda.time.chrono.ISOChronology; 33 import org.joda.time.chrono.LenientChronology; 34 35 40 public class TestInterval_Basics extends TestCase { 41 44 private static final DateTimeZone MOSCOW = DateTimeZone.forID("Europe/Moscow"); 45 private static final DateTimeZone PARIS = DateTimeZone.forID("Europe/Paris"); 46 private static final DateTimeZone LONDON = DateTimeZone.forID("Europe/London"); 47 private static final Chronology COPTIC_PARIS = CopticChronology.getInstance(PARIS); 48 private Interval interval37; 49 private Interval interval33; 50 51 long y2002days = 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 52 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 53 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 54 366 + 365; 55 long y2003days = 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 56 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 57 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 58 366 + 365 + 365; 59 60 private long TEST_TIME_NOW = 62 (y2002days + 31L + 28L + 31L + 30L + 31L + 9L -1L) * DateTimeConstants.MILLIS_PER_DAY; 63 64 private long TEST_TIME1 = 66 (y2002days + 31L + 28L + 31L + 5L -1L) * DateTimeConstants.MILLIS_PER_DAY 67 + 12L * DateTimeConstants.MILLIS_PER_HOUR 68 + 24L * DateTimeConstants.MILLIS_PER_MINUTE; 69 70 private long TEST_TIME2 = 72 (y2003days + 31L + 28L + 31L + 30L + 6L -1L) * DateTimeConstants.MILLIS_PER_DAY 73 + 14L * DateTimeConstants.MILLIS_PER_HOUR 74 + 28L * DateTimeConstants.MILLIS_PER_MINUTE; 75 76 private DateTimeZone originalDateTimeZone = null; 77 private TimeZone originalTimeZone = null; 78 private Locale originalLocale = null; 79 80 public static void main(String [] args) { 81 junit.textui.TestRunner.run(suite()); 82 } 83 84 public static TestSuite suite() { 85 return new TestSuite(TestInterval_Basics.class); 86 } 87 88 public TestInterval_Basics(String name) { 89 super(name); 90 } 91 92 protected void setUp() throws Exception { 93 DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW); 94 originalDateTimeZone = DateTimeZone.getDefault(); 95 originalTimeZone = TimeZone.getDefault(); 96 originalLocale = Locale.getDefault(); 97 DateTimeZone.setDefault(PARIS); 98 TimeZone.setDefault(PARIS.toTimeZone()); 99 Locale.setDefault(Locale.FRANCE); 100 interval37 = new Interval(3, 7); 101 interval33 = new Interval(3, 3); 102 } 103 104 protected void tearDown() throws Exception { 105 DateTimeUtils.setCurrentMillisSystem(); 106 DateTimeZone.setDefault(originalDateTimeZone); 107 TimeZone.setDefault(originalTimeZone); 108 Locale.setDefault(originalLocale); 109 originalDateTimeZone = null; 110 originalTimeZone = null; 111 originalLocale = null; 112 } 113 114 public void testTest() { 116 assertEquals("2002-06-09T00:00:00.000Z", new Instant(TEST_TIME_NOW).toString()); 117 assertEquals("2002-04-05T12:24:00.000Z", new Instant(TEST_TIME1).toString()); 118 assertEquals("2003-05-06T14:28:00.000Z", new Instant(TEST_TIME2).toString()); 119 } 120 121 public void testGetMillis() { 123 Interval test = new Interval(TEST_TIME1, TEST_TIME2); 124 assertEquals(TEST_TIME1, test.getStartMillis()); 125 assertEquals(TEST_TIME1, test.getStart().getMillis()); 126 assertEquals(TEST_TIME2, test.getEndMillis()); 127 assertEquals(TEST_TIME2, test.getEnd().getMillis()); 128 assertEquals(TEST_TIME2 - TEST_TIME1, test.toDurationMillis()); 129 assertEquals(TEST_TIME2 - TEST_TIME1, test.toDuration().getMillis()); 130 } 131 132 public void testGetDuration1() { 133 Interval test = new Interval(TEST_TIME1, TEST_TIME2); 134 assertEquals(TEST_TIME2 - TEST_TIME1, test.toDurationMillis()); 135 assertEquals(TEST_TIME2 - TEST_TIME1, test.toDuration().getMillis()); 136 } 137 138 public void testGetDuration2() { 139 Interval test = new Interval(TEST_TIME1, TEST_TIME1); 140 assertSame(Duration.ZERO, test.toDuration()); 141 } 142 143 public void testEqualsHashCode() { 144 Interval test1 = new Interval(TEST_TIME1, TEST_TIME2); 145 Interval test2 = new Interval(TEST_TIME1, TEST_TIME2); 146 assertEquals(true, test1.equals(test2)); 147 assertEquals(true, test2.equals(test1)); 148 assertEquals(true, test1.equals(test1)); 149 assertEquals(true, test2.equals(test2)); 150 assertEquals(true, test1.hashCode() == test2.hashCode()); 151 assertEquals(true, test1.hashCode() == test1.hashCode()); 152 assertEquals(true, test2.hashCode() == test2.hashCode()); 153 154 Interval test3 = new Interval(TEST_TIME_NOW, TEST_TIME2); 155 assertEquals(false, test1.equals(test3)); 156 assertEquals(false, test2.equals(test3)); 157 assertEquals(false, test3.equals(test1)); 158 assertEquals(false, test3.equals(test2)); 159 assertEquals(false, test1.hashCode() == test3.hashCode()); 160 assertEquals(false, test2.hashCode() == test3.hashCode()); 161 162 Interval test4 = new Interval(TEST_TIME1, TEST_TIME2, GJChronology.getInstance()); 163 assertEquals(true, test4.equals(test4)); 164 assertEquals(false, test1.equals(test4)); 165 assertEquals(false, test2.equals(test4)); 166 assertEquals(false, test4.equals(test1)); 167 assertEquals(false, test4.equals(test2)); 168 assertEquals(false, test1.hashCode() == test4.hashCode()); 169 assertEquals(false, test2.hashCode() == test4.hashCode()); 170 171 MutableInterval test5 = new MutableInterval(TEST_TIME1, TEST_TIME2); 172 assertEquals(true, test1.equals(test5)); 173 assertEquals(true, test2.equals(test5)); 174 assertEquals(false, test3.equals(test5)); 175 assertEquals(true, test5.equals(test1)); 176 assertEquals(true, test5.equals(test2)); 177 assertEquals(false, test5.equals(test3)); 178 assertEquals(true, test1.hashCode() == test5.hashCode()); 179 assertEquals(true, test2.hashCode() == test5.hashCode()); 180 assertEquals(false, test3.hashCode() == test5.hashCode()); 181 182 assertEquals(false, test1.equals("Hello")); 183 assertEquals(true, test1.equals(new MockInterval())); 184 assertEquals(false, test1.equals(new DateTime(TEST_TIME1))); 185 } 186 187 class MockInterval extends AbstractInterval { 188 public MockInterval() { 189 super(); 190 } 191 public Chronology getChronology() { 192 return ISOChronology.getInstance(); 193 } 194 public long getStartMillis() { 195 return TEST_TIME1; 196 } 197 public long getEndMillis() { 198 return TEST_TIME2; 199 } 200 } 201 202 public void testEqualsHashCodeLenient() { 203 Interval test1 = new Interval( 204 new DateTime(TEST_TIME1, LenientChronology.getInstance(COPTIC_PARIS)), 205 new DateTime(TEST_TIME2, LenientChronology.getInstance(COPTIC_PARIS))); 206 Interval test2 = new Interval( 207 new DateTime(TEST_TIME1, LenientChronology.getInstance(COPTIC_PARIS)), 208 new DateTime(TEST_TIME2, LenientChronology.getInstance(COPTIC_PARIS))); 209 assertEquals(true, test1.equals(test2)); 210 assertEquals(true, test2.equals(test1)); 211 assertEquals(true, test1.equals(test1)); 212 assertEquals(true, test2.equals(test2)); 213 assertEquals(true, test1.hashCode() == test2.hashCode()); 214 assertEquals(true, test1.hashCode() == test1.hashCode()); 215 assertEquals(true, test2.hashCode() == test2.hashCode()); 216 } 217 218 public void testEqualsHashCodeStrict() { 219 Interval test1 = new Interval( 220 new DateTime(TEST_TIME1, LenientChronology.getInstance(COPTIC_PARIS)), 221 new DateTime(TEST_TIME2, LenientChronology.getInstance(COPTIC_PARIS))); 222 Interval test2 = new Interval( 223 new DateTime(TEST_TIME1, LenientChronology.getInstance(COPTIC_PARIS)), 224 new DateTime(TEST_TIME2, LenientChronology.getInstance(COPTIC_PARIS))); 225 assertEquals(true, test1.equals(test2)); 226 assertEquals(true, test2.equals(test1)); 227 assertEquals(true, test1.equals(test1)); 228 assertEquals(true, test2.equals(test2)); 229 assertEquals(true, test1.hashCode() == test2.hashCode()); 230 assertEquals(true, test1.hashCode() == test1.hashCode()); 231 assertEquals(true, test2.hashCode() == test2.hashCode()); 232 } 233 234 public void test_useCase_ContainsOverlapAbutGap() { 236 Interval test1020 = new Interval(10, 20); 241 242 Interval interval = new Interval(4, 8); 244 assertNotNull(test1020.gap(interval)); 245 assertEquals(false, test1020.abuts(interval)); 246 assertEquals(false, test1020.overlaps(interval)); 247 assertEquals(false, test1020.contains(interval)); 248 assertNotNull(interval.gap(test1020)); 249 assertEquals(false, interval.abuts(test1020)); 250 assertEquals(false, interval.overlaps(test1020)); 251 assertEquals(false, interval.contains(test1020)); 252 253 interval = new Interval(6, 10); 255 assertNull(test1020.gap(interval)); 256 assertEquals(true, test1020.abuts(interval)); 257 assertEquals(false, test1020.overlaps(interval)); 258 assertEquals(false, test1020.contains(interval)); 259 assertNull(interval.gap(test1020)); 260 assertEquals(true, interval.abuts(test1020)); 261 assertEquals(false, interval.overlaps(test1020)); 262 assertEquals(false, interval.contains(test1020)); 263 264 interval = new Interval(8, 12); 266 assertNull(test1020.gap(interval)); 267 assertEquals(false, test1020.abuts(interval)); 268 assertEquals(true, test1020.overlaps(interval)); 269 assertEquals(false, test1020.contains(interval)); 270 assertNull(interval.gap(test1020)); 271 assertEquals(false, interval.abuts(test1020)); 272 assertEquals(true, interval.overlaps(test1020)); 273 assertEquals(false, interval.contains(test1020)); 274 275 interval = new Interval(10, 14); 277 assertNull(test1020.gap(interval)); 278 assertEquals(false, test1020.abuts(interval)); 279 assertEquals(true, test1020.overlaps(interval)); 280 assertEquals(true, test1020.contains(interval)); 281 assertNull(interval.gap(test1020)); 282 assertEquals(false, interval.abuts(test1020)); 283 assertEquals(true, interval.overlaps(test1020)); 284 assertEquals(false, interval.contains(test1020)); 285 286 assertNull(test1020.gap(interval)); 288 assertEquals(false, test1020.abuts(test1020)); 289 assertEquals(true, test1020.overlaps(test1020)); 290 assertEquals(true, test1020.contains(test1020)); 291 292 interval = new Interval(16, 20); 294 assertNull(test1020.gap(interval)); 295 assertEquals(false, test1020.abuts(interval)); 296 assertEquals(true, test1020.overlaps(interval)); 297 assertEquals(true, test1020.contains(interval)); 298 assertNull(interval.gap(test1020)); 299 assertEquals(false, interval.abuts(test1020)); 300 assertEquals(true, interval.overlaps(test1020)); 301 assertEquals(false, interval.contains(test1020)); 302 303 interval = new Interval(18, 22); 305 assertNull(test1020.gap(interval)); 306 assertEquals(false, test1020.abuts(interval)); 307 assertEquals(true, test1020.overlaps(interval)); 308 assertEquals(false, test1020.contains(interval)); 309 assertNull(interval.gap(test1020)); 310 assertEquals(false, interval.abuts(test1020)); 311 assertEquals(true, interval.overlaps(test1020)); 312 assertEquals(false, interval.contains(test1020)); 313 314 interval = new Interval(20, 24); 316 assertNull(test1020.gap(interval)); 317 assertEquals(true, test1020.abuts(interval)); 318 assertEquals(false, test1020.overlaps(interval)); 319 assertEquals(false, test1020.contains(interval)); 320 assertNull(interval.gap(test1020)); 321 assertEquals(true, interval.abuts(test1020)); 322 assertEquals(false, interval.overlaps(test1020)); 323 assertEquals(false, interval.contains(test1020)); 324 325 interval = new Interval(22, 26); 327 assertNotNull(test1020.gap(interval)); 328 assertEquals(false, test1020.abuts(interval)); 329 assertEquals(false, test1020.overlaps(interval)); 330 assertEquals(false, test1020.contains(interval)); 331 assertNotNull(interval.gap(test1020)); 332 assertEquals(false, interval.abuts(test1020)); 333 assertEquals(false, interval.overlaps(test1020)); 334 assertEquals(false, interval.contains(test1020)); 335 } 336 337 public void test_useCase_ContainsOverlapAbutGap_zeroDuration() { 339 Interval test1020 = new Interval(10, 20); 345 346 Interval interval = new Interval(8, 8); 348 assertNotNull(test1020.gap(interval)); 349 assertEquals(false, test1020.abuts(interval)); 350 assertEquals(false, test1020.overlaps(interval)); 351 assertEquals(false, test1020.contains(interval)); 352 assertNotNull(interval.gap(test1020)); 353 assertEquals(false, interval.abuts(test1020)); 354 assertEquals(false, interval.overlaps(test1020)); 355 assertEquals(false, interval.contains(test1020)); 356 357 interval = new Interval(10, 10); 359 assertNull(test1020.gap(interval)); 360 assertEquals(true, test1020.abuts(interval)); 361 assertEquals(false, test1020.overlaps(interval)); assertEquals(true, test1020.contains(interval)); assertNull(interval.gap(test1020)); 364 assertEquals(true, interval.abuts(test1020)); 365 assertEquals(false, interval.overlaps(test1020)); assertEquals(false, interval.contains(test1020)); 368 interval = new Interval(12, 12); 370 assertNull(test1020.gap(interval)); 371 assertEquals(false, test1020.abuts(interval)); 372 assertEquals(true, test1020.overlaps(interval)); 373 assertEquals(true, test1020.contains(interval)); assertNull(interval.gap(test1020)); 375 assertEquals(false, interval.abuts(test1020)); 376 assertEquals(true, interval.overlaps(test1020)); 377 assertEquals(false, interval.contains(test1020)); 379 interval = new Interval(20, 20); 381 assertNull(test1020.gap(interval)); 382 assertEquals(true, test1020.abuts(interval)); 383 assertEquals(false, test1020.overlaps(interval)); 384 assertEquals(false, test1020.contains(interval)); 385 assertNull(interval.gap(test1020)); 386 assertEquals(true, interval.abuts(test1020)); 387 assertEquals(false, interval.overlaps(test1020)); 388 assertEquals(false, interval.contains(test1020)); 389 390 interval = new Interval(22, 22); 392 assertNotNull(test1020.gap(interval)); 393 assertEquals(false, test1020.abuts(interval)); 394 assertEquals(false, test1020.overlaps(interval)); 395 assertEquals(false, test1020.contains(interval)); 396 assertNotNull(interval.gap(test1020)); 397 assertEquals(false, interval.abuts(test1020)); 398 assertEquals(false, interval.overlaps(test1020)); 399 assertEquals(false, interval.contains(test1020)); 400 } 401 402 public void test_useCase_ContainsOverlapAbutGap_bothZeroDuration() { 404 Interval test0808 = new Interval(8, 8); 409 Interval test1010 = new Interval(10, 10); 410 411 assertNotNull(test1010.gap(test0808)); 413 assertEquals(false, test1010.abuts(test0808)); 414 assertEquals(false, test1010.overlaps(test0808)); 415 assertEquals(false, test1010.contains(test0808)); 416 assertNotNull(test0808.gap(test1010)); 417 assertEquals(false, test0808.abuts(test1010)); 418 assertEquals(false, test0808.overlaps(test1010)); 419 assertEquals(false, test0808.contains(test1010)); 420 421 assertNull(test1010.gap(test1010)); 423 assertEquals(true, test1010.abuts(test1010)); 424 assertEquals(false, test1010.overlaps(test1010)); 425 assertEquals(false, test1010.contains(test1010)); 426 } 427 428 public void testContains_long() { 430 assertEquals(false, interval37.contains(2)); assertEquals(true, interval37.contains(3)); 432 assertEquals(true, interval37.contains(4)); 433 assertEquals(true, interval37.contains(5)); 434 assertEquals(true, interval37.contains(6)); 435 assertEquals(false, interval37.contains(7)); assertEquals(false, interval37.contains(8)); } 438 439 public void testContains_long_zeroDuration() { 440 assertEquals(false, interval33.contains(2)); assertEquals(false, interval33.contains(3)); assertEquals(false, interval33.contains(4)); } 444 445 public void testContainsNow() { 447 DateTimeUtils.setCurrentMillisFixed(2); 448 assertEquals(false, interval37.containsNow()); DateTimeUtils.setCurrentMillisFixed(3); 450 assertEquals(true, interval37.containsNow()); 451 DateTimeUtils.setCurrentMillisFixed(4); 452 assertEquals(true, interval37.containsNow()); 453 DateTimeUtils.setCurrentMillisFixed(6); 454 assertEquals(true, interval37.containsNow()); 455 DateTimeUtils.setCurrentMillisFixed(7); 456 assertEquals(false, interval37.containsNow()); DateTimeUtils.setCurrentMillisFixed(8); 458 assertEquals(false, interval37.containsNow()); 460 DateTimeUtils.setCurrentMillisFixed(2); 461 assertEquals(false, interval33.containsNow()); DateTimeUtils.setCurrentMillisFixed(3); 463 assertEquals(false, interval33.containsNow()); DateTimeUtils.setCurrentMillisFixed(4); 465 assertEquals(false, interval33.containsNow()); } 467 468 public void testContains_RI() { 470 assertEquals(false, interval37.contains(new Instant(2))); assertEquals(true, interval37.contains(new Instant(3))); 472 assertEquals(true, interval37.contains(new Instant(4))); 473 assertEquals(true, interval37.contains(new Instant(5))); 474 assertEquals(true, interval37.contains(new Instant(6))); 475 assertEquals(false, interval37.contains(new Instant(7))); assertEquals(false, interval37.contains(new Instant(8))); } 478 479 public void testContains_RI_null() { 480 DateTimeUtils.setCurrentMillisFixed(2); 481 assertEquals(false, interval37.contains((ReadableInstant) null)); DateTimeUtils.setCurrentMillisFixed(3); 483 assertEquals(true, interval37.contains((ReadableInstant) null)); 484 DateTimeUtils.setCurrentMillisFixed(4); 485 assertEquals(true, interval37.contains((ReadableInstant) null)); 486 DateTimeUtils.setCurrentMillisFixed(6); 487 assertEquals(true, interval37.contains((ReadableInstant) null)); 488 DateTimeUtils.setCurrentMillisFixed(7); 489 assertEquals(false, interval37.contains((ReadableInstant) null)); DateTimeUtils.setCurrentMillisFixed(8); 491 assertEquals(false, interval37.contains((ReadableInstant) null)); } 493 494 public void testContains_RI_zeroDuration() { 495 assertEquals(false, interval33.contains(new Instant(2))); assertEquals(false, interval33.contains(new Instant(3))); assertEquals(false, interval33.contains(new Instant(4))); } 499 500 public void testContains_RInterval() { 502 assertEquals(false, interval37.contains(new Interval(1, 2))); assertEquals(false, interval37.contains(new Interval(2, 2))); 505 assertEquals(false, interval37.contains(new Interval(2, 3))); assertEquals(true, interval37.contains(new Interval(3, 3))); 507 508 assertEquals(false, interval37.contains(new Interval(2, 4))); assertEquals(true, interval37.contains(new Interval(3, 4))); 510 assertEquals(true, interval37.contains(new Interval(4, 4))); 511 512 assertEquals(false, interval37.contains(new Interval(2, 6))); assertEquals(true, interval37.contains(new Interval(3, 6))); 514 assertEquals(true, interval37.contains(new Interval(4, 6))); 515 assertEquals(true, interval37.contains(new Interval(5, 6))); 516 assertEquals(true, interval37.contains(new Interval(6, 6))); 517 518 assertEquals(false, interval37.contains(new Interval(2, 7))); assertEquals(true, interval37.contains(new Interval(3, 7))); 520 assertEquals(true, interval37.contains(new Interval(4, 7))); 521 assertEquals(true, interval37.contains(new Interval(5, 7))); 522 assertEquals(true, interval37.contains(new Interval(6, 7))); 523 assertEquals(false, interval37.contains(new Interval(7, 7))); 525 assertEquals(false, interval37.contains(new Interval(2, 8))); assertEquals(false, interval37.contains(new Interval(3, 8))); assertEquals(false, interval37.contains(new Interval(4, 8))); assertEquals(false, interval37.contains(new Interval(5, 8))); assertEquals(false, interval37.contains(new Interval(6, 8))); assertEquals(false, interval37.contains(new Interval(7, 8))); assertEquals(false, interval37.contains(new Interval(8, 8))); 533 assertEquals(false, interval37.contains(new Interval(8, 9))); assertEquals(false, interval37.contains(new Interval(9, 9))); } 536 537 public void testContains_RInterval_null() { 538 DateTimeUtils.setCurrentMillisFixed(2); 539 assertEquals(false, interval37.contains((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(3); 541 assertEquals(true, interval37.contains((ReadableInterval) null)); 542 DateTimeUtils.setCurrentMillisFixed(4); 543 assertEquals(true, interval37.contains((ReadableInterval) null)); 544 DateTimeUtils.setCurrentMillisFixed(6); 545 assertEquals(true, interval37.contains((ReadableInterval) null)); 546 DateTimeUtils.setCurrentMillisFixed(7); 547 assertEquals(false, interval37.contains((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(8); 549 assertEquals(false, interval37.contains((ReadableInterval) null)); } 551 552 public void testContains_RInterval_zeroDuration() { 553 assertEquals(false, interval33.contains(interval33)); assertEquals(false, interval33.contains(interval37)); assertEquals(true, interval37.contains(interval33)); 556 assertEquals(false, interval33.contains(new Interval(1, 2))); assertEquals(false, interval33.contains(new Interval(8, 9))); assertEquals(false, interval33.contains(new Interval(1, 9))); 560 DateTimeUtils.setCurrentMillisFixed(2); 561 assertEquals(false, interval33.contains((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(3); 563 assertEquals(false, interval33.contains((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(4); 565 assertEquals(false, interval33.contains((ReadableInterval) null)); } 567 568 public void testOverlaps_RInterval() { 570 assertEquals(false, interval37.overlaps(new Interval(1, 2))); assertEquals(false, interval37.overlaps(new Interval(2, 2))); 573 assertEquals(false, interval37.overlaps(new Interval(2, 3))); assertEquals(false, interval37.overlaps(new Interval(3, 3))); 576 assertEquals(true, interval37.overlaps(new Interval(2, 4))); 577 assertEquals(true, interval37.overlaps(new Interval(3, 4))); 578 assertEquals(true, interval37.overlaps(new Interval(4, 4))); 579 580 assertEquals(true, interval37.overlaps(new Interval(2, 6))); 581 assertEquals(true, interval37.overlaps(new Interval(3, 6))); 582 assertEquals(true, interval37.overlaps(new Interval(4, 6))); 583 assertEquals(true, interval37.overlaps(new Interval(5, 6))); 584 assertEquals(true, interval37.overlaps(new Interval(6, 6))); 585 586 assertEquals(true, interval37.overlaps(new Interval(2, 7))); 587 assertEquals(true, interval37.overlaps(new Interval(3, 7))); 588 assertEquals(true, interval37.overlaps(new Interval(4, 7))); 589 assertEquals(true, interval37.overlaps(new Interval(5, 7))); 590 assertEquals(true, interval37.overlaps(new Interval(6, 7))); 591 assertEquals(false, interval37.overlaps(new Interval(7, 7))); 593 assertEquals(true, interval37.overlaps(new Interval(2, 8))); 594 assertEquals(true, interval37.overlaps(new Interval(3, 8))); 595 assertEquals(true, interval37.overlaps(new Interval(4, 8))); 596 assertEquals(true, interval37.overlaps(new Interval(5, 8))); 597 assertEquals(true, interval37.overlaps(new Interval(6, 8))); 598 assertEquals(false, interval37.overlaps(new Interval(7, 8))); assertEquals(false, interval37.overlaps(new Interval(8, 8))); 601 assertEquals(false, interval37.overlaps(new Interval(8, 9))); assertEquals(false, interval37.overlaps(new Interval(9, 9))); } 604 605 public void testOverlaps_RInterval_null() { 606 DateTimeUtils.setCurrentMillisFixed(2); 607 assertEquals(false, interval37.overlaps((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(3); 609 assertEquals(false, interval37.overlaps((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(4); 611 assertEquals(true, interval37.overlaps((ReadableInterval) null)); 612 DateTimeUtils.setCurrentMillisFixed(6); 613 assertEquals(true, interval37.overlaps((ReadableInterval) null)); 614 DateTimeUtils.setCurrentMillisFixed(7); 615 assertEquals(false, interval37.overlaps((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(8); 617 assertEquals(false, interval37.overlaps((ReadableInterval) null)); 619 DateTimeUtils.setCurrentMillisFixed(3); 620 assertEquals(false, interval33.overlaps((ReadableInterval) null)); } 622 623 public void testOverlaps_RInterval_zeroDuration() { 624 assertEquals(false, interval33.overlaps(interval33)); assertEquals(false, interval33.overlaps(interval37)); assertEquals(false, interval37.overlaps(interval33)); assertEquals(false, interval33.overlaps(new Interval(1, 2))); 628 assertEquals(false, interval33.overlaps(new Interval(8, 9))); 629 assertEquals(true, interval33.overlaps(new Interval(1, 9))); 630 } 631 632 public void testOverlap_RInterval() { 634 assertEquals(null, interval37.overlap(new Interval(1, 2))); assertEquals(null, interval37.overlap(new Interval(2, 2))); 637 assertEquals(null, interval37.overlap(new Interval(2, 3))); assertEquals(null, interval37.overlap(new Interval(3, 3))); 640 assertEquals(new Interval(3, 4), interval37.overlap(new Interval(2, 4))); assertEquals(new Interval(3, 4), interval37.overlap(new Interval(3, 4))); 642 assertEquals(new Interval(4, 4), interval37.overlap(new Interval(4, 4))); 643 644 assertEquals(new Interval(3, 7), interval37.overlap(new Interval(2, 7))); assertEquals(new Interval(3, 7), interval37.overlap(new Interval(3, 7))); 646 assertEquals(new Interval(4, 7), interval37.overlap(new Interval(4, 7))); 647 assertEquals(new Interval(5, 7), interval37.overlap(new Interval(5, 7))); 648 assertEquals(new Interval(6, 7), interval37.overlap(new Interval(6, 7))); 649 assertEquals(null, interval37.overlap(new Interval(7, 7))); 651 assertEquals(new Interval(3, 7), interval37.overlap(new Interval(2, 8))); assertEquals(new Interval(3, 7), interval37.overlap(new Interval(3, 8))); assertEquals(new Interval(4, 7), interval37.overlap(new Interval(4, 8))); assertEquals(new Interval(5, 7), interval37.overlap(new Interval(5, 8))); assertEquals(new Interval(6, 7), interval37.overlap(new Interval(6, 8))); assertEquals(null, interval37.overlap(new Interval(7, 8))); assertEquals(null, interval37.overlap(new Interval(8, 8))); } 659 660 public void testOverlap_RInterval_null() { 661 DateTimeUtils.setCurrentMillisFixed(2); 662 assertEquals(null, interval37.overlap((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(3); 664 assertEquals(null, interval37.overlap((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(4); 666 assertEquals(new Interval(4, 4), interval37.overlap((ReadableInterval) null)); 667 DateTimeUtils.setCurrentMillisFixed(6); 668 assertEquals(new Interval(6, 6), interval37.overlap((ReadableInterval) null)); 669 DateTimeUtils.setCurrentMillisFixed(7); 670 assertEquals(null, interval37.overlap((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(8); 672 assertEquals(null, interval37.overlap((ReadableInterval) null)); 674 DateTimeUtils.setCurrentMillisFixed(3); 675 assertEquals(null, interval33.overlap((ReadableInterval) null)); } 677 678 public void testOverlap_RInterval_zone() { 679 Interval testA = new Interval(new DateTime(3, LONDON), new DateTime(7, LONDON)); 680 assertEquals(ISOChronology.getInstance(LONDON), testA.getChronology()); 681 682 Interval testB = new Interval(new DateTime(4, MOSCOW), new DateTime(8, MOSCOW)); 683 assertEquals(ISOChronology.getInstance(MOSCOW), testB.getChronology()); 684 685 Interval resultAB = testA.overlap(testB); 686 assertEquals(ISOChronology.getInstance(LONDON), resultAB.getChronology()); 687 688 Interval resultBA = testB.overlap(testA); 689 assertEquals(ISOChronology.getInstance(MOSCOW), resultBA.getChronology()); 690 } 691 692 public void testOverlap_RInterval_zoneUTC() { 693 Interval testA = new Interval(new Instant(3), new Instant(7)); 694 assertEquals(ISOChronology.getInstanceUTC(), testA.getChronology()); 695 696 Interval testB = new Interval(new Instant(4), new Instant(8)); 697 assertEquals(ISOChronology.getInstanceUTC(), testB.getChronology()); 698 699 Interval result = testA.overlap(testB); 700 assertEquals(ISOChronology.getInstanceUTC(), result.getChronology()); 701 } 702 703 public void testGap_RInterval() { 705 assertEquals(new Interval(1, 3), interval37.gap(new Interval(0, 1))); 706 assertEquals(new Interval(1, 3), interval37.gap(new Interval(1, 1))); 707 708 assertEquals(null, interval37.gap(new Interval(2, 3))); assertEquals(null, interval37.gap(new Interval(3, 3))); 711 assertEquals(null, interval37.gap(new Interval(4, 6))); 713 assertEquals(null, interval37.gap(new Interval(3, 7))); assertEquals(null, interval37.gap(new Interval(6, 7))); assertEquals(null, interval37.gap(new Interval(7, 7))); 717 assertEquals(null, interval37.gap(new Interval(6, 8))); assertEquals(null, interval37.gap(new Interval(7, 8))); assertEquals(new Interval(7, 8), interval37.gap(new Interval(8, 8))); 720 721 assertEquals(null, interval37.gap(new Interval(6, 9))); assertEquals(null, interval37.gap(new Interval(7, 9))); assertEquals(new Interval(7, 8), interval37.gap(new Interval(8, 9))); 724 assertEquals(new Interval(7, 9), interval37.gap(new Interval(9, 9))); 725 } 726 727 public void testGap_RInterval_null() { 728 DateTimeUtils.setCurrentMillisFixed(2); 729 assertEquals(new Interval(2, 3), interval37.gap((ReadableInterval) null)); 730 DateTimeUtils.setCurrentMillisFixed(3); 731 assertEquals(null, interval37.gap((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(4); 733 assertEquals(null, interval37.gap((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(6); 735 assertEquals(null, interval37.gap((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(7); 737 assertEquals(null, interval37.gap((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(8); 739 assertEquals(new Interval(7, 8), interval37.gap((ReadableInterval) null)); 740 } 741 742 public void testGap_RInterval_zone() { 743 Interval testA = new Interval(new DateTime(3, LONDON), new DateTime(7, LONDON)); 744 assertEquals(ISOChronology.getInstance(LONDON), testA.getChronology()); 745 746 Interval testB = new Interval(new DateTime(1, MOSCOW), new DateTime(2, MOSCOW)); 747 assertEquals(ISOChronology.getInstance(MOSCOW), testB.getChronology()); 748 749 Interval resultAB = testA.gap(testB); 750 assertEquals(ISOChronology.getInstance(LONDON), resultAB.getChronology()); 751 752 Interval resultBA = testB.gap(testA); 753 assertEquals(ISOChronology.getInstance(MOSCOW), resultBA.getChronology()); 754 } 755 756 public void testGap_RInterval_zoneUTC() { 757 Interval testA = new Interval(new Instant(3), new Instant(7)); 758 assertEquals(ISOChronology.getInstanceUTC(), testA.getChronology()); 759 760 Interval testB = new Interval(new Instant(1), new Instant(2)); 761 assertEquals(ISOChronology.getInstanceUTC(), testB.getChronology()); 762 763 Interval result = testA.gap(testB); 764 assertEquals(ISOChronology.getInstanceUTC(), result.getChronology()); 765 } 766 767 public void testAbuts_RInterval() { 769 assertEquals(false, interval37.abuts(new Interval(1, 2))); assertEquals(false, interval37.abuts(new Interval(2, 2))); 772 assertEquals(true, interval37.abuts(new Interval(2, 3))); 773 assertEquals(true, interval37.abuts(new Interval(3, 3))); 774 775 assertEquals(false, interval37.abuts(new Interval(2, 4))); assertEquals(false, interval37.abuts(new Interval(3, 4))); assertEquals(false, interval37.abuts(new Interval(4, 4))); 779 assertEquals(false, interval37.abuts(new Interval(2, 6))); assertEquals(false, interval37.abuts(new Interval(3, 6))); assertEquals(false, interval37.abuts(new Interval(4, 6))); assertEquals(false, interval37.abuts(new Interval(5, 6))); assertEquals(false, interval37.abuts(new Interval(6, 6))); 785 assertEquals(false, interval37.abuts(new Interval(2, 7))); assertEquals(false, interval37.abuts(new Interval(3, 7))); assertEquals(false, interval37.abuts(new Interval(4, 7))); assertEquals(false, interval37.abuts(new Interval(5, 7))); assertEquals(false, interval37.abuts(new Interval(6, 7))); assertEquals(true, interval37.abuts(new Interval(7, 7))); 791 792 assertEquals(false, interval37.abuts(new Interval(2, 8))); assertEquals(false, interval37.abuts(new Interval(3, 8))); assertEquals(false, interval37.abuts(new Interval(4, 8))); assertEquals(false, interval37.abuts(new Interval(5, 8))); assertEquals(false, interval37.abuts(new Interval(6, 8))); assertEquals(true, interval37.abuts(new Interval(7, 8))); 798 assertEquals(false, interval37.abuts(new Interval(8, 8))); 800 assertEquals(false, interval37.abuts(new Interval(8, 9))); assertEquals(false, interval37.abuts(new Interval(9, 9))); } 803 804 public void testAbuts_RInterval_null() { 805 DateTimeUtils.setCurrentMillisFixed(2); 806 assertEquals(false, interval37.abuts((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(3); 808 assertEquals(true, interval37.abuts((ReadableInterval) null)); 809 DateTimeUtils.setCurrentMillisFixed(4); 810 assertEquals(false, interval37.abuts((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(6); 812 assertEquals(false, interval37.abuts((ReadableInterval) null)); DateTimeUtils.setCurrentMillisFixed(7); 814 assertEquals(true, interval37.abuts((ReadableInterval) null)); 815 DateTimeUtils.setCurrentMillisFixed(8); 816 assertEquals(false, interval37.abuts((ReadableInterval) null)); } 818 819 public void testIsBefore_long() { 821 assertEquals(false, interval37.isBefore(2)); 822 assertEquals(false, interval37.isBefore(3)); 823 assertEquals(false, interval37.isBefore(4)); 824 assertEquals(false, interval37.isBefore(5)); 825 assertEquals(false, interval37.isBefore(6)); 826 assertEquals(true, interval37.isBefore(7)); 827 assertEquals(true, interval37.isBefore(8)); 828 } 829 830 public void testIsBeforeNow() { 831 DateTimeUtils.setCurrentMillisFixed(2); 832 assertEquals(false, interval37.isBeforeNow()); 833 DateTimeUtils.setCurrentMillisFixed(3); 834 assertEquals(false, interval37.isBeforeNow()); 835 DateTimeUtils.setCurrentMillisFixed(4); 836 assertEquals(false, interval37.isBeforeNow()); 837 DateTimeUtils.setCurrentMillisFixed(6); 838 assertEquals(false, interval37.isBeforeNow()); 839 DateTimeUtils.setCurrentMillisFixed(7); 840 assertEquals(true, interval37.isBeforeNow()); 841 DateTimeUtils.setCurrentMillisFixed(8); 842 assertEquals(true, interval37.isBeforeNow()); 843 } 844 845 public void testIsBefore_RI() { 846 assertEquals(false, interval37.isBefore(new Instant(2))); 847 assertEquals(false, interval37.isBefore(new Instant(3))); 848 assertEquals(false, interval37.isBefore(new Instant(4))); 849 assertEquals(false, interval37.isBefore(new Instant(5))); 850 assertEquals(false, interval37.isBefore(new Instant(6))); 851 assertEquals(true, interval37.isBefore(new Instant(7))); 852 assertEquals(true, interval37.isBefore(new Instant(8))); 853 } 854 855 public void testIsBefore_RI_null() { 856 DateTimeUtils.setCurrentMillisFixed(2); 857 assertEquals(false, interval37.isBefore((ReadableInstant) null)); 858 DateTimeUtils.setCurrentMillisFixed(3); 859 assertEquals(false, interval37.isBefore((ReadableInstant) null)); 860 DateTimeUtils.setCurrentMillisFixed(4); 861 assertEquals(false, interval37.isBefore((ReadableInstant) null)); 862 DateTimeUtils.setCurrentMillisFixed(6); 863 assertEquals(false, interval37.isBefore((ReadableInstant) null)); 864 DateTimeUtils.setCurrentMillisFixed(7); 865 assertEquals(true, interval37.isBefore((ReadableInstant) null)); 866 DateTimeUtils.setCurrentMillisFixed(8); 867 assertEquals(true, interval37.isBefore((ReadableInstant) null)); 868 } 869 870 public void testIsBefore_RInterval() { 871 assertEquals(false, interval37.isBefore(new Interval(Long.MIN_VALUE, 2))); 872 assertEquals(false, interval37.isBefore(new Interval(Long.MIN_VALUE, 3))); 873 assertEquals(false, interval37.isBefore(new Interval(Long.MIN_VALUE, 4))); 874 875 assertEquals(false, interval37.isBefore(new Interval(6, Long.MAX_VALUE))); 876 assertEquals(true, interval37.isBefore(new Interval(7, Long.MAX_VALUE))); 877 assertEquals(true, interval37.isBefore(new Interval(8, Long.MAX_VALUE))); 878 } 879 880 public void testIsBefore_RInterval_null() { 881 DateTimeUtils.setCurrentMillisFixed(2); 882 assertEquals(false, interval37.isBefore((ReadableInterval) null)); 883 DateTimeUtils.setCurrentMillisFixed(3); 884 assertEquals(false, interval37.isBefore((ReadableInterval) null)); 885 DateTimeUtils.setCurrentMillisFixed(4); 886 assertEquals(false, interval37.isBefore((ReadableInterval) null)); 887 DateTimeUtils.setCurrentMillisFixed(6); 888 assertEquals(false, interval37.isBefore((ReadableInterval) null)); 889 DateTimeUtils.setCurrentMillisFixed(7); 890 assertEquals(true, interval37.isBefore((ReadableInterval) null)); 891 DateTimeUtils.setCurrentMillisFixed(8); 892 assertEquals(true, interval37.isBefore((ReadableInterval) null)); 893 } 894 895 public void testIsAfter_long() { 897 assertEquals(true, interval37.isAfter(2)); 898 assertEquals(false, interval37.isAfter(3)); 899 assertEquals(false, interval37.isAfter(4)); 900 assertEquals(false, interval37.isAfter(5)); 901 assertEquals(false, interval37.isAfter(6)); 902 assertEquals(false, interval37.isAfter(7)); 903 assertEquals(false, interval37.isAfter(8)); 904 } 905 906 public void testIsAfterNow() { 907 DateTimeUtils.setCurrentMillisFixed(2); 908 assertEquals(true, interval37.isAfterNow()); 909 DateTimeUtils.setCurrentMillisFixed(3); 910 assertEquals(false, interval37.isAfterNow()); 911 DateTimeUtils.setCurrentMillisFixed(4); 912 assertEquals(false, interval37.isAfterNow()); 913 DateTimeUtils.setCurrentMillisFixed(6); 914 assertEquals(false, interval37.isAfterNow()); 915 DateTimeUtils.setCurrentMillisFixed(7); 916 assertEquals(false, interval37.isAfterNow()); 917 DateTimeUtils.setCurrentMillisFixed(8); 918 assertEquals(false, interval37.isAfterNow()); 919 } 920 921 public void testIsAfter_RI() { 922 assertEquals(true, interval37.isAfter(new Instant(2))); 923 assertEquals(false, interval37.isAfter(new Instant(3))); 924 assertEquals(false, interval37.isAfter(new Instant(4))); 925 assertEquals(false, interval37.isAfter(new Instant(5))); 926 assertEquals(false, interval37.isAfter(new Instant(6))); 927 assertEquals(false, interval37.isAfter(new Instant(7))); 928 assertEquals(false, interval37.isAfter(new Instant(8))); 929 } 930 931 public void testIsAfter_RI_null() { 932 DateTimeUtils.setCurrentMillisFixed(2); 933 assertEquals(true, interval37.isAfter((ReadableInstant) null)); 934 DateTimeUtils.setCurrentMillisFixed(3); 935 assertEquals(false, interval37.isAfter((ReadableInstant) null)); 936 DateTimeUtils.setCurrentMillisFixed(4); 937 assertEquals(false, interval37.isAfter((ReadableInstant) null)); 938 DateTimeUtils.setCurrentMillisFixed(6); 939 assertEquals(false, interval37.isAfter((ReadableInstant) null)); 940 DateTimeUtils.setCurrentMillisFixed(7); 941 assertEquals(false, interval37.isAfter((ReadableInstant) null)); 942 DateTimeUtils.setCurrentMillisFixed(8); 943 assertEquals(false, interval37.isAfter((ReadableInstant) null)); 944 } 945 946 public void testIsAfter_RInterval() { 947 assertEquals(true, interval37.isAfter(new Interval(Long.MIN_VALUE, 2))); 948 assertEquals(true, interval37.isAfter(new Interval(Long.MIN_VALUE, 3))); 949 assertEquals(false, interval37.isAfter(new Interval(Long.MIN_VALUE, 4))); 950 951 assertEquals(false, interval37.isAfter(new Interval(6, Long.MAX_VALUE))); 952 assertEquals(false, interval37.isAfter(new Interval(7, Long.MAX_VALUE))); 953 assertEquals(false, interval37.isAfter(new Interval(8, Long.MAX_VALUE))); 954 } 955 956 public void testIsAfter_RInterval_null() { 957 DateTimeUtils.setCurrentMillisFixed(2); 958 assertEquals(true, interval37.isAfter((ReadableInterval) null)); 959 DateTimeUtils.setCurrentMillisFixed(3); 960 assertEquals(true, interval37.isAfter((ReadableInterval) null)); 961 DateTimeUtils.setCurrentMillisFixed(4); 962 assertEquals(false, interval37.isAfter((ReadableInterval) null)); 963 DateTimeUtils.setCurrentMillisFixed(6); 964 assertEquals(false, interval37.isAfter((ReadableInterval) null)); 965 DateTimeUtils.setCurrentMillisFixed(7); 966 assertEquals(false, interval37.isAfter((ReadableInterval) null)); 967 DateTimeUtils.setCurrentMillisFixed(8); 968 assertEquals(false, interval37.isAfter((ReadableInterval) null)); 969 } 970 971 public void testToInterval1() { 973 Interval test = new Interval(TEST_TIME1, TEST_TIME2, COPTIC_PARIS); 974 Interval result = test.toInterval(); 975 assertSame(test, result); 976 } 977 978 public void testToMutableInterval1() { 980 Interval test = new Interval(TEST_TIME1, TEST_TIME2, COPTIC_PARIS); 981 MutableInterval result = test.toMutableInterval(); 982 assertEquals(test, result); 983 } 984 985 public void testToPeriod() { 987 DateTime dt1 = new DateTime(2004, 6, 9, 7, 8, 9, 10, COPTIC_PARIS); 988 DateTime dt2 = new DateTime(2005, 8, 13, 12, 14, 16, 18, COPTIC_PARIS); 989 Interval base = new Interval(dt1, dt2); 990 991 Period test = base.toPeriod(); 992 Period expected = new Period(dt1, dt2, PeriodType.standard()); 993 assertEquals(expected, test); 994 } 995 996 public void testToPeriod_PeriodType1() { 998 DateTime dt1 = new DateTime(2004, 6, 9, 7, 8, 9, 10, COPTIC_PARIS); 999 DateTime dt2 = new DateTime(2005, 8, 13, 12, 14, 16, 18, COPTIC_PARIS); 1000 Interval base = new Interval(dt1, dt2); 1001 1002 Period test = base.toPeriod(null); 1003 Period expected = new Period(dt1, dt2, PeriodType.standard()); 1004 assertEquals(expected, test); 1005 } 1006 1007 public void testToPeriod_PeriodType2() { 1008 DateTime dt1 = new DateTime(2004, 6, 9, 7, 8, 9, 10); 1009 DateTime dt2 = new DateTime(2005, 8, 13, 12, 14, 16, 18); 1010 Interval base = new Interval(dt1, dt2); 1011 1012 Period test = base.toPeriod(PeriodType.yearWeekDayTime()); 1013 Period expected = new Period(dt1, dt2, PeriodType.yearWeekDayTime()); 1014 assertEquals(expected, test); 1015 } 1016 1017 public void testSerialization() throws Exception { 1019 Interval test = new Interval(TEST_TIME1, TEST_TIME2, COPTIC_PARIS); 1020 1021 ByteArrayOutputStream baos = new ByteArrayOutputStream (); 1022 ObjectOutputStream oos = new ObjectOutputStream (baos); 1023 oos.writeObject(test); 1024 byte[] bytes = baos.toByteArray(); 1025 oos.close(); 1026 1027 ByteArrayInputStream bais = new ByteArrayInputStream (bytes); 1028 ObjectInputStream ois = new ObjectInputStream (bais); 1029 Interval result = (Interval) ois.readObject(); 1030 ois.close(); 1031 1032 assertEquals(test, result); 1033 } 1034 1035 public void testToString() { 1037 DateTime dt1 = new DateTime(2004, 6, 9, 7, 8, 9, 10, DateTimeZone.UTC); 1038 DateTime dt2 = new DateTime(2005, 8, 13, 12, 14, 16, 18, DateTimeZone.UTC); 1039 Interval test = new Interval(dt1, dt2); 1040 assertEquals("2004-06-09T07:08:09.010/2005-08-13T12:14:16.018", test.toString()); 1041 } 1042 1043 public void testWithChronology1() { 1045 Interval base = new Interval(TEST_TIME1, TEST_TIME2, COPTIC_PARIS); 1046 Interval test = base.withChronology(BuddhistChronology.getInstance()); 1047 assertEquals(new Interval(TEST_TIME1, TEST_TIME2, BuddhistChronology.getInstance()), test); 1048 } 1049 1050 public void testWithChronology2() { 1051 Interval base = new Interval(TEST_TIME1, TEST_TIME2, COPTIC_PARIS); 1052 Interval test = base.withChronology(null); 1053 assertEquals(new Interval(TEST_TIME1, TEST_TIME2, ISOChronology.getInstance()), test); 1054 } 1055 1056 public void testWithChronology3() { 1057 Interval base = new Interval(TEST_TIME1, TEST_TIME2, COPTIC_PARIS); 1058 Interval test = base.withChronology(COPTIC_PARIS); 1059 assertSame(base, test); 1060 } 1061 1062 public void testWithStartMillis_long1() { 1064 Interval base = new Interval(TEST_TIME1, TEST_TIME2, COPTIC_PARIS); 1065 Interval test = base.withStartMillis(TEST_TIME1 - 1); 1066 assertEquals(new Interval(TEST_TIME1 - 1, TEST_TIME2, COPTIC_PARIS), test); 1067 } 1068 1069 public void testWithStartMillis_long2() { 1070 Interval test = new Interval(TEST_TIME1, TEST_TIME2); 1071 try { 1072 test.withStartMillis(TEST_TIME2 + 1); 1073 fail(); 1074 } catch (IllegalArgumentException ex) {} 1075 } 1076 1077 public void testWithStartMillis_long3() { 1078 Interval base = new Interval(TEST_TIME1, TEST_TIME2, COPTIC_PARIS); 1079 Interval test = base.withStartMillis(TEST_TIME1); 1080 assertSame(base, test); 1081 } 1082 1083 public void testWithStartInstant_RI1() { 1085 Interval base = new Interval(TEST_TIME1, TEST_TIME2, COPTIC_PARIS); 1086 Interval test = base.withStart(new Instant(TEST_TIME1 - 1)); 1087 assertEquals(new Interval(TEST_TIME1 - 1, TEST_TIME2, COPTIC_PARIS), test); 1088 } 1089 1090 public void testWithStartInstant_RI2() { 1091 Interval test = new Interval(TEST_TIME1, TEST_TIME2); 1092 try { 1093 test.withStart(new Instant(TEST_TIME2 + 1)); 1094 fail(); 1095 } catch (IllegalArgumentException ex) {} 1096 } 1097 1098 public void testWithStartInstant_RI3() { 1099 Interval base = new Interval(TEST_TIME1, TEST_TIME2, COPTIC_PARIS); 1100 Interval test = base.withStart(null); 1101 assertEquals(new Interval(TEST_TIME_NOW, TEST_TIME2, COPTIC_PARIS), test); 1102 } 1103 1104 public void testWithEndMillis_long1() { 1106 Interval base = new Interval(TEST_TIME1, TEST_TIME2, COPTIC_PARIS); 1107 Interval test = base.withEndMillis(TEST_TIME2 - 1); 1108 assertEquals(new Interval(TEST_TIME1, TEST_TIME2 - 1, COPTIC_PARIS), test); 1109 } 1110 1111 public void testWithEndMillis_long2() { 1112 Interval test = new Interval(TEST_TIME1, TEST_TIME2); 1113 try { 1114 test.withEndMillis(TEST_TIME1 - 1); 1115 fail(); 1116 } catch (IllegalArgumentException ex) {} 1117 } 1118 1119 public void testWithEndMillis_long3() { 1120 Interval base = new Interval(TEST_TIME1, TEST_TIME2, COPTIC_PARIS); 1121 Interval test = base.withEndMillis(TEST_TIME2); 1122 assertSame(base, test); 1123 } 1124 1125 public void testWithEndInstant_RI1() { 1127 Interval base = new Interval(TEST_TIME1, TEST_TIME2, COPTIC_PARIS); 1128 Interval test = base.withEnd(new Instant(TEST_TIME2 - 1)); 1129 assertEquals(new Interval(TEST_TIME1, TEST_TIME2 - 1, COPTIC_PARIS), test); 1130 } 1131 1132 public void testWithEndInstant_RI2() { 1133 Interval test = new Interval(TEST_TIME1, TEST_TIME2); 1134 try { 1135 test.withEnd(new Instant(TEST_TIME1 - 1)); 1136 fail(); 1137 } catch (IllegalArgumentException ex) {} 1138 } 1139 1140 public void testWithEndInstant_RI3() { 1141 Interval base = new Interval(TEST_TIME1, TEST_TIME2, COPTIC_PARIS); 1142 Interval test = base.withEnd(null); 1143 assertEquals(new Interval(TEST_TIME1, TEST_TIME_NOW, COPTIC_PARIS), test); 1144 } 1145 1146 public void testWithDurationAfterStart1() throws Throwable { 1148 Duration dur = new Duration(TEST_TIME2 - TEST_TIME_NOW); 1149 Interval base = new Interval(TEST_TIME_NOW, TEST_TIME_NOW, COPTIC_PARIS); 1150 Interval test = base.withDurationAfterStart(dur); 1151 1152 assertEquals(new Interval(TEST_TIME_NOW, TEST_TIME2, COPTIC_PARIS), test); 1153 } 1154 1155 public void testWithDurationAfterStart2() throws Throwable { 1156 Interval base = new Interval(TEST_TIME_NOW, TEST_TIME2, COPTIC_PARIS); 1157 Interval test = base.withDurationAfterStart(null); 1158 1159 assertEquals(new Interval(TEST_TIME_NOW, TEST_TIME_NOW, COPTIC_PARIS), test); 1160 } 1161 1162 public void testWithDurationAfterStart3() throws Throwable { 1163 Duration dur = new Duration(-1); 1164 Interval base = new Interval(TEST_TIME_NOW, TEST_TIME_NOW); 1165 try { 1166 base.withDurationAfterStart(dur); 1167 fail(); 1168 } catch (IllegalArgumentException ex) {} 1169 } 1170 1171 public void testWithDurationAfterStart4() throws Throwable { 1172 Interval base = new Interval(TEST_TIME_NOW, TEST_TIME2, COPTIC_PARIS); 1173 Interval test = base.withDurationAfterStart(base.toDuration()); 1174 1175 assertSame(base, test); 1176 } 1177 1178 public void testWithDurationBeforeEnd1() throws Throwable { 1180 Duration dur = new Duration(TEST_TIME_NOW - TEST_TIME1); 1181 Interval base = new Interval(TEST_TIME_NOW, TEST_TIME_NOW, COPTIC_PARIS); 1182 Interval test = base.withDurationBeforeEnd(dur); 1183 1184 assertEquals(new Interval(TEST_TIME1, TEST_TIME_NOW, COPTIC_PARIS), test); 1185 } 1186 1187 public void testWithDurationBeforeEnd2() throws Throwable { 1188 Interval base = new Interval(TEST_TIME_NOW, TEST_TIME2, COPTIC_PARIS); 1189 Interval test = base.withDurationBeforeEnd(null); 1190 1191 assertEquals(new Interval(TEST_TIME2, TEST_TIME2, COPTIC_PARIS), test); 1192 } 1193 1194 public void testWithDurationBeforeEnd3() throws Throwable { 1195 Duration dur = new Duration(-1); 1196 Interval base = new Interval(TEST_TIME_NOW, TEST_TIME_NOW); 1197 try { 1198 base.withDurationBeforeEnd(dur); 1199 fail(); 1200 } catch (IllegalArgumentException ex) {} 1201 } 1202 1203 public void testWithDurationBeforeEnd4() throws Throwable { 1204 Interval base = new Interval(TEST_TIME_NOW, TEST_TIME2, COPTIC_PARIS); 1205 Interval test = base.withDurationBeforeEnd(base.toDuration()); 1206 1207 assertSame(base, test); 1208 } 1209 1210 public void testWithPeriodAfterStart1() throws Throwable { 1212 DateTime dt = new DateTime(TEST_TIME_NOW, COPTIC_PARIS); 1213 Period dur = new Period(0, 6, 0, 0, 1, 0, 0, 0); 1214 1215 Interval base = new Interval(dt, dt); 1216 Interval test = base.withPeriodAfterStart(dur); 1217 assertEquals(new Interval(dt, dur), test); 1218 } 1219 1220 public void testWithPeriodAfterStart2() throws Throwable { 1221 Interval base = new Interval(TEST_TIME_NOW, TEST_TIME2, COPTIC_PARIS); 1222 Interval test = base.withPeriodAfterStart(null); 1223 1224 assertEquals(new Interval(TEST_TIME_NOW, TEST_TIME_NOW, COPTIC_PARIS), test); 1225 } 1226 1227 public void testWithPeriodAfterStart3() throws Throwable { 1228 Period per = new Period(0, 0, 0, 0, 0, 0, 0, -1); 1229 Interval base = new Interval(TEST_TIME_NOW, TEST_TIME_NOW); 1230 try { 1231 base.withPeriodAfterStart(per); 1232 fail(); 1233 } catch (IllegalArgumentException ex) {} 1234 } 1235 1236 public void testWithPeriodBeforeEnd1() throws Throwable { 1238 DateTime dt = new DateTime(TEST_TIME_NOW, COPTIC_PARIS); 1239 Period dur = new Period(0, 6, 0, 0, 1, 0, 0, 0); 1240 1241 Interval base = new Interval(dt, dt); 1242 Interval test = base.withPeriodBeforeEnd(dur); 1243 assertEquals(new Interval(dur, dt), test); 1244 } 1245 1246 public void testWithPeriodBeforeEnd2() throws Throwable { 1247 Interval base = new Interval(TEST_TIME_NOW, TEST_TIME2, COPTIC_PARIS); 1248 Interval test = base.withPeriodBeforeEnd(null); 1249 1250 assertEquals(new Interval(TEST_TIME2, TEST_TIME2, COPTIC_PARIS), test); 1251 } 1252 1253 public void testWithPeriodBeforeEnd3() throws Throwable { 1254 Period per = new Period(0, 0, 0, 0, 0, 0, 0, -1); 1255 Interval base = new Interval(TEST_TIME_NOW, TEST_TIME_NOW); 1256 try { 1257 base.withPeriodBeforeEnd(per); 1258 fail(); 1259 } catch (IllegalArgumentException ex) {} 1260 } 1261 1262} 1263 | Popular Tags |