Lines Matching refs:Date

256         assert(Interval!Date(Date(1996, 1, 2), Date(1996, 1, 2)).empty);  in Interval()
257 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).empty);
278 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
279 Date(1994, 12, 24)));
281 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
282 Date(2000, 1, 5)));
283 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
284 Date(2012, 3, 1)));
306 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
307 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
309 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
310 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
312 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
313 Interval!Date(Date(1998, 2, 28), Date(2013, 5, 1))));
342 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
343 PosInfInterval!Date(Date(1999, 5, 4))));
369 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
370 NegInfInterval!Date(Date(1996, 5, 4))));
393 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
394 Date(1994, 12, 24)));
396 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
397 Date(2000, 1, 5)));
399 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
400 Date(2012, 3, 1)));
423 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
424 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
426 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
427 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
429 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
430 Interval!Date(Date(2012, 3, 1), Date(2013, 5, 1))));
454 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
455 PosInfInterval!Date(Date(1999, 5, 4))));
457 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
458 PosInfInterval!Date(Date(2013, 3, 7))));
484 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
485 NegInfInterval!Date(Date(1996, 5, 4))));
508 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
509 Date(1994, 12, 24)));
511 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
512 Date(2000, 1, 5)));
514 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
515 Date(2012, 3, 1)));
538 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
539 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
541 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
542 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
544 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
545 Interval!Date(Date(1989, 3, 1), Date(1996, 1, 2))));
572 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
573 PosInfInterval!Date(Date(1999, 5, 4))));
596 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
597 NegInfInterval!Date(Date(1996, 1, 2))));
619 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
620 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
622 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
623 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
625 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
626 Interval!Date(Date(1989, 3, 1), Date(1996, 1, 2))));
649 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
650 PosInfInterval!Date(Date(1999, 5, 4))));
652 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
653 PosInfInterval!Date(Date(2012, 3, 1))));
675 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
676 NegInfInterval!Date(Date(1996, 1, 2))));
678 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
679 NegInfInterval!Date(Date(2000, 1, 2))));
701 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
702 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))) ==
703 Interval!Date(Date(1996, 1 , 2), Date(2000, 8, 2)));
705 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
706 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))) ==
707 Interval!Date(Date(1999, 1 , 12), Date(2011, 9, 17)));
736 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
737 PosInfInterval!Date(Date(1990, 7, 6))) ==
738 Interval!Date(Date(1996, 1 , 2), Date(2012, 3, 1)));
740 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
741 PosInfInterval!Date(Date(1999, 1, 12))) ==
742 Interval!Date(Date(1999, 1 , 12), Date(2012, 3, 1)));
768 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
769 NegInfInterval!Date(Date(1999, 7, 6))) ==
770 Interval!Date(Date(1996, 1 , 2), Date(1999, 7, 6)));
772 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
773 NegInfInterval!Date(Date(2013, 1, 12))) ==
774 Interval!Date(Date(1996, 1 , 2), Date(2012, 3, 1)));
801 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
802 Interval!Date(Date(1990, 7, 6), Date(1996, 1, 2))));
804 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
805 Interval!Date(Date(2012, 3, 1), Date(2013, 9, 17))));
807 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
808 Interval!Date(Date(1989, 3, 1), Date(2012, 3, 1))));
832 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
833 PosInfInterval!Date(Date(1999, 5, 4))));
835 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
836 PosInfInterval!Date(Date(2012, 3, 1))));
859 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
860 NegInfInterval!Date(Date(1996, 1, 2))));
862 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
863 NegInfInterval!Date(Date(2000, 1, 2))));
885 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(
886 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))) ==
887 Interval!Date(Date(1990, 7 , 6), Date(2012, 3, 1)));
889 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(
890 Interval!Date(Date(2012, 3, 1), Date(2013, 5, 7))) ==
891 Interval!Date(Date(1996, 1 , 2), Date(2013, 5, 7)));
920 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(
921 PosInfInterval!Date(Date(1990, 7, 6))) ==
922 PosInfInterval!Date(Date(1990, 7 , 6)));
924 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(
925 PosInfInterval!Date(Date(2012, 3, 1))) ==
926 PosInfInterval!Date(Date(1996, 1 , 2)));
952 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(
953 NegInfInterval!Date(Date(1996, 1, 2))) ==
954 NegInfInterval!Date(Date(2012, 3 , 1)));
956 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(
957 NegInfInterval!Date(Date(2013, 1, 12))) ==
958 NegInfInterval!Date(Date(2013, 1 , 12)));
986 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(
987 Interval!Date(Date(1990, 7, 6), Date(1991, 1, 8))) ==
988 Interval!Date(Date(1990, 7 , 6), Date(2012, 3, 1)));
990 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(
991 Interval!Date(Date(2012, 3, 1), Date(2013, 5, 7))) ==
992 Interval!Date(Date(1996, 1 , 2), Date(2013, 5, 7)));
1021 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(
1022 PosInfInterval!Date(Date(1990, 7, 6))) ==
1023 PosInfInterval!Date(Date(1990, 7 , 6)));
1025 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(
1026 PosInfInterval!Date(Date(2050, 1, 1))) ==
1027 PosInfInterval!Date(Date(1996, 1 , 2)));
1051 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(
1052 NegInfInterval!Date(Date(1602, 5, 21))) ==
1053 NegInfInterval!Date(Date(2012, 3 , 1)));
1055 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(
1056 NegInfInterval!Date(Date(2013, 1, 12))) ==
1057 NegInfInterval!Date(Date(2013, 1 , 12)));
1082 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 4, 5));
1083 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 4, 5));
1086 assert(interval1 == Interval!Date(Date(1996, 2, 21), Date(2012, 5, 25)));
1089 assert(interval2 == Interval!Date(Date(1995, 11, 13), Date(2012, 2, 15)));
1132 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
1133 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
1136 assert(interval1 == Interval!Date(Date(1998, 1, 2), Date(2014, 3, 1)));
1139 assert(interval2 == Interval!Date(Date(1994, 1, 2), Date(2010, 3, 1)));
1179 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
1180 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
1183 assert(interval1 == Interval!Date(Date(1994, 1, 2), Date(2014, 3, 1)));
1186 assert(interval2 == Interval!Date(Date(1998, 1, 2), Date(2010, 3, 1)));
1257 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
1258 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
1261 assert(interval1 == Interval!Date(Date(1994, 1, 2), Date(2014, 3, 1)));
1264 assert(interval2 == Interval!Date(Date(1998, 1, 2), Date(2010, 3, 1)));
1378 auto interval = Interval!Date(Date(2010, 9, 1), Date(2010, 9, 9));
1379 auto func = delegate (in Date date) // For iterating over even-numbered days.
1389 assert(range.front == Date(2010, 9, 1));
1392 assert(range.front == Date(2010, 9, 2));
1395 assert(range.front == Date(2010, 9, 4));
1398 assert(range.front == Date(2010, 9, 6));
1401 assert(range.front == Date(2010, 9, 8));
1472 auto interval = Interval!Date(Date(2010, 9, 1), Date(2010, 9, 9));
1473 auto func = delegate (in Date date) // For iterating over even-numbered days.
1483 assert(range.front == Date(2010, 9, 9));
1486 assert(range.front == Date(2010, 9, 8));
1489 assert(range.front == Date(2010, 9, 6));
1492 assert(range.front == Date(2010, 9, 4));
1495 assert(range.front == Date(2010, 9, 2));
1595 assertThrown!DateTimeException(Interval!Date(Date(2010, 1, 1), Date(1, 1, 1)));
1597 Interval!Date(Date.init, Date.init);
1605 Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
1606 …assert(Interval!Date(Date(1996, 1, 2), dur!"weeks"(3)) == Interval!Date(Date(1996, 1, 2), Date(199…
1607 …assert(Interval!Date(Date(1996, 1, 2), dur!"days"(3)) == Interval!Date(Date(1996, 1, 2), Date(1996…
1623 assert(Interval!Date(Date(1, 1, 1), Date(2010, 1, 1)).begin == Date(1, 1, 1));
1624 assert(Interval!Date(Date(2010, 1, 1), Date(2010, 1, 1)).begin == Date(2010, 1, 1));
1625 assert(Interval!Date(Date(1997, 12, 31), Date(1998, 1, 1)).begin == Date(1997, 12, 31));
1627 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1628 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1629 assert(cInterval.begin == Date(2010, 7, 4));
1630 assert(iInterval.begin == Date(2010, 7, 4));
1633 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).begin == Date(1996, 1, 2));
1641 assert(Interval!Date(Date(1, 1, 1), Date(2010, 1, 1)).end == Date(2010, 1, 1));
1642 assert(Interval!Date(Date(2010, 1, 1), Date(2010, 1, 1)).end == Date(2010, 1, 1));
1643 assert(Interval!Date(Date(1997, 12, 31), Date(1998, 1, 1)).end == Date(1998, 1, 1));
1645 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1646 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1647 assert(cInterval.end == Date(2012, 1, 7));
1648 assert(iInterval.end == Date(2012, 1, 7));
1651 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).end == Date(2012, 3, 1));
1660 assert(Interval!Date(Date(2010, 1, 1), Date(2010, 1, 1)).length == dur!"days"(0));
1661 assert(Interval!Date(Date(2010, 1, 1), Date(2010, 4, 1)).length == dur!"days"(90));
1668 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1669 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1674 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).length == dur!"days"(5903));
1683 assert(Interval!Date(Date(2010, 1, 1), Date(2010, 1, 1)).empty);
1684 assert(!Interval!Date(Date(2010, 1, 1), Date(2010, 4, 1)).empty);
1689 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1690 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1695 assert(Interval!Date(Date(1996, 1, 2), Date(1996, 1, 2)).empty);
1696 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).empty);
1704 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1706 …assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).contains(Date(2010, …
1708 assert(!interval.contains(Date(2009, 7, 4)));
1709 assert(!interval.contains(Date(2010, 7, 3)));
1710 assert(interval.contains(Date(2010, 7, 4)));
1711 assert(interval.contains(Date(2010, 7, 5)));
1712 assert(interval.contains(Date(2011, 7, 1)));
1713 assert(interval.contains(Date(2012, 1, 6)));
1714 assert(!interval.contains(Date(2012, 1, 7)));
1715 assert(!interval.contains(Date(2012, 1, 8)));
1716 assert(!interval.contains(Date(2013, 1, 7)));
1718 const cdate = Date(2010, 7, 6);
1719 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1720 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1726 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(Date(1994, 12, 24)));
1727 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(Date(2000, 1, 5)));
1728 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(Date(2012, 3, 1)));
1736 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1738 … assertThrown!DateTimeException(interval.contains(Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
1739 … assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).contains(interval));
1740 assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4),dur!"days"(0)).contains(
1741 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
1744 assert(!interval.contains(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
1745 assert(!interval.contains(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
1746 assert(!interval.contains(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
1747 assert(!interval.contains(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
1748 assert(!interval.contains(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
1749 assert(!interval.contains(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
1750 assert(interval.contains(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
1751 assert(interval.contains(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
1752 assert(interval.contains(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
1753 assert(!interval.contains(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
1754 assert(!interval.contains(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
1755 assert(!interval.contains(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
1757 assert(!Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)).contains(interval));
1758 assert(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).contains(interval));
1759 assert(!Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).contains(interval));
1760 assert(!Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).contains(interval));
1761 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).contains(interval));
1762 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).contains(interval));
1763 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).contains(interval));
1764 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).contains(interval));
1765 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).contains(interval));
1766 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).contains(interval));
1767 assert(!Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).contains(interval));
1768 assert(!Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)).contains(interval));
1770 assert(!interval.contains(PosInfInterval!Date(Date(2010, 7, 3))));
1771 assert(!interval.contains(PosInfInterval!Date(Date(2010, 7, 4))));
1772 assert(!interval.contains(PosInfInterval!Date(Date(2010, 7, 5))));
1773 assert(!interval.contains(PosInfInterval!Date(Date(2012, 1, 6))));
1774 assert(!interval.contains(PosInfInterval!Date(Date(2012, 1, 7))));
1775 assert(!interval.contains(PosInfInterval!Date(Date(2012, 1, 8))));
1777 assert(!interval.contains(NegInfInterval!Date(Date(2010, 7, 3))));
1778 assert(!interval.contains(NegInfInterval!Date(Date(2010, 7, 4))));
1779 assert(!interval.contains(NegInfInterval!Date(Date(2010, 7, 5))));
1780 assert(!interval.contains(NegInfInterval!Date(Date(2012, 1, 6))));
1781 assert(!interval.contains(NegInfInterval!Date(Date(2012, 1, 7))));
1782 assert(!interval.contains(NegInfInterval!Date(Date(2012, 1, 8))));
1784 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1785 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1786 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
1787 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
1788 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
1789 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
1790 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
1791 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
1821 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
1822 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
1823 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
1824 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
1825 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
1826 Interval!Date(Date(1998, 2, 28), Date(2013, 5, 1))));
1828 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(PosInfInterval!Date(Date(1999, …
1830 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(NegInfInterval!Date(Date(1996, …
1838 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1840 …assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).isBefore(Date(2010, …
1842 assert(!interval.isBefore(Date(2009, 7, 3)));
1843 assert(!interval.isBefore(Date(2010, 7, 3)));
1844 assert(!interval.isBefore(Date(2010, 7, 4)));
1845 assert(!interval.isBefore(Date(2010, 7, 5)));
1846 assert(!interval.isBefore(Date(2011, 7, 1)));
1847 assert(!interval.isBefore(Date(2012, 1, 6)));
1848 assert(interval.isBefore(Date(2012, 1, 7)));
1849 assert(interval.isBefore(Date(2012, 1, 8)));
1850 assert(interval.isBefore(Date(2013, 1, 7)));
1852 const cdate = Date(2010, 7, 6);
1853 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1854 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1860 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(Date(1994, 12, 24)));
1861 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(Date(2000, 1, 5)));
1862 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(Date(2012, 3, 1)));
1870 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1872 … assertThrown!DateTimeException(interval.isBefore(Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
1873 … assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).isBefore(interval));
1874 assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).isBefore(
1875 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
1878 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
1879 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
1880 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
1881 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
1882 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
1883 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
1884 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
1885 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
1886 assert(!interval.isBefore(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
1887 assert(!interval.isBefore(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
1888 assert(interval.isBefore(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
1889 assert(interval.isBefore(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
1891 assert(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)).isBefore(interval));
1892 assert(!Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).isBefore(interval));
1893 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).isBefore(interval));
1894 assert(!Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).isBefore(interval));
1895 assert(!Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).isBefore(interval));
1896 assert(!Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).isBefore(interval));
1897 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).isBefore(interval));
1898 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).isBefore(interval));
1899 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).isBefore(interval));
1900 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).isBefore(interval));
1901 assert(!Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).isBefore(interval));
1902 assert(!Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)).isBefore(interval));
1904 assert(!interval.isBefore(PosInfInterval!Date(Date(2010, 7, 3))));
1905 assert(!interval.isBefore(PosInfInterval!Date(Date(2010, 7, 4))));
1906 assert(!interval.isBefore(PosInfInterval!Date(Date(2010, 7, 5))));
1907 assert(!interval.isBefore(PosInfInterval!Date(Date(2012, 1, 6))));
1908 assert(interval.isBefore(PosInfInterval!Date(Date(2012, 1, 7))));
1909 assert(interval.isBefore(PosInfInterval!Date(Date(2012, 1, 8))));
1911 assert(!interval.isBefore(NegInfInterval!Date(Date(2010, 7, 3))));
1912 assert(!interval.isBefore(NegInfInterval!Date(Date(2010, 7, 4))));
1913 assert(!interval.isBefore(NegInfInterval!Date(Date(2010, 7, 5))));
1914 assert(!interval.isBefore(NegInfInterval!Date(Date(2012, 1, 6))));
1915 assert(!interval.isBefore(NegInfInterval!Date(Date(2012, 1, 7))));
1916 assert(!interval.isBefore(NegInfInterval!Date(Date(2012, 1, 8))));
1918 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1919 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1920 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
1921 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
1922 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
1923 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
1924 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
1925 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
1955 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
1956 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
1957 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
1958 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
1959 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
1960 Interval!Date(Date(2012, 3, 1), Date(2013, 5, 1))));
1962 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(PosInfInterval!Date(Date(1999, …
1963 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(PosInfInterval!Date(Date(2013, 3…
1965 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(NegInfInterval!Date(Date(1996, …
1973 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1975 …assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).isAfter(Date(2010, 7…
1977 assert(interval.isAfter(Date(2009, 7, 4)));
1978 assert(interval.isAfter(Date(2010, 7, 3)));
1979 assert(!interval.isAfter(Date(2010, 7, 4)));
1980 assert(!interval.isAfter(Date(2010, 7, 5)));
1981 assert(!interval.isAfter(Date(2011, 7, 1)));
1982 assert(!interval.isAfter(Date(2012, 1, 6)));
1983 assert(!interval.isAfter(Date(2012, 1, 7)));
1984 assert(!interval.isAfter(Date(2012, 1, 8)));
1985 assert(!interval.isAfter(Date(2013, 1, 7)));
1987 const cdate = Date(2010, 7, 6);
1988 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1989 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1995 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(Date(1994, 12, 24)));
1996 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(Date(2000, 1, 5)));
1997 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(Date(2012, 3, 1)));
2005 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2007 … assertThrown!DateTimeException(interval.isAfter(Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2008 … assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).isAfter(interval));
2009 assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).isAfter(
2010 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2013 assert(interval.isAfter(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
2014 assert(!interval.isAfter(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
2015 assert(interval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
2016 assert(!interval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
2017 assert(!interval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
2018 assert(!interval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
2019 assert(!interval.isAfter(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
2020 assert(!interval.isAfter(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
2021 assert(!interval.isAfter(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
2022 assert(!interval.isAfter(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
2023 assert(!interval.isAfter(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
2024 assert(!interval.isAfter(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
2026 assert(!Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)).isAfter(interval));
2027 assert(!Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).isAfter(interval));
2028 assert(!Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).isAfter(interval));
2029 assert(!Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).isAfter(interval));
2030 assert(!Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).isAfter(interval));
2031 assert(!Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).isAfter(interval));
2032 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).isAfter(interval));
2033 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).isAfter(interval));
2034 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).isAfter(interval));
2035 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).isAfter(interval));
2036 assert(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).isAfter(interval));
2037 assert(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)).isAfter(interval));
2039 assert(!interval.isAfter(PosInfInterval!Date(Date(2010, 7, 3))));
2040 assert(!interval.isAfter(PosInfInterval!Date(Date(2010, 7, 4))));
2041 assert(!interval.isAfter(PosInfInterval!Date(Date(2010, 7, 5))));
2042 assert(!interval.isAfter(PosInfInterval!Date(Date(2012, 1, 6))));
2043 assert(!interval.isAfter(PosInfInterval!Date(Date(2012, 1, 7))));
2044 assert(!interval.isAfter(PosInfInterval!Date(Date(2012, 1, 8))));
2046 assert(interval.isAfter(NegInfInterval!Date(Date(2010, 7, 3))));
2047 assert(interval.isAfter(NegInfInterval!Date(Date(2010, 7, 4))));
2048 assert(!interval.isAfter(NegInfInterval!Date(Date(2010, 7, 5))));
2049 assert(!interval.isAfter(NegInfInterval!Date(Date(2012, 1, 6))));
2050 assert(!interval.isAfter(NegInfInterval!Date(Date(2012, 1, 7))));
2051 assert(!interval.isAfter(NegInfInterval!Date(Date(2012, 1, 8))));
2053 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2054 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2055 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2056 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2057 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2058 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2059 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2060 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2090 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
2091 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
2092 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
2093 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
2094 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
2095 Interval!Date(Date(1989, 3, 1), Date(1996, 1, 2))));
2097 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(PosInfInterval!Date(Date(1999, 5…
2099 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(NegInfInterval!Date(Date(1996, 1,…
2107 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2109 …assertThrown!DateTimeException(interval.intersects(Interval!Date(Date(2010, 7, 4), dur!"days"(0)))…
2110 …assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).intersects(interval)…
2111 assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).intersects(
2112 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2115 assert(!interval.intersects(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
2116 assert(interval.intersects(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
2117 assert(!interval.intersects(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
2118 assert(interval.intersects(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
2119 assert(interval.intersects(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
2120 assert(interval.intersects(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
2121 assert(interval.intersects(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
2122 assert(interval.intersects(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
2123 assert(interval.intersects(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
2124 assert(interval.intersects(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
2125 assert(!interval.intersects(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
2126 assert(!interval.intersects(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
2128 assert(!Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)).intersects(interval));
2129 assert(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).intersects(interval));
2130 assert(!Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).intersects(interval));
2131 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).intersects(interval));
2132 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).intersects(interval));
2133 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).intersects(interval));
2134 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).intersects(interval));
2135 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).intersects(interval));
2136 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).intersects(interval));
2137 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).intersects(interval));
2138 assert(!Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).intersects(interval));
2139 assert(!Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)).intersects(interval));
2141 assert(interval.intersects(PosInfInterval!Date(Date(2010, 7, 3))));
2142 assert(interval.intersects(PosInfInterval!Date(Date(2010, 7, 4))));
2143 assert(interval.intersects(PosInfInterval!Date(Date(2010, 7, 5))));
2144 assert(interval.intersects(PosInfInterval!Date(Date(2012, 1, 6))));
2145 assert(!interval.intersects(PosInfInterval!Date(Date(2012, 1, 7))));
2146 assert(!interval.intersects(PosInfInterval!Date(Date(2012, 1, 8))));
2148 assert(!interval.intersects(NegInfInterval!Date(Date(2010, 7, 3))));
2149 assert(!interval.intersects(NegInfInterval!Date(Date(2010, 7, 4))));
2150 assert(interval.intersects(NegInfInterval!Date(Date(2010, 7, 5))));
2151 assert(interval.intersects(NegInfInterval!Date(Date(2012, 1, 6))));
2152 assert(interval.intersects(NegInfInterval!Date(Date(2012, 1, 7))));
2153 assert(interval.intersects(NegInfInterval!Date(Date(2012, 1, 8))));
2155 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2156 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2157 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2158 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2159 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2160 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2161 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2162 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2192 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
2193 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
2194 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
2195 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
2196 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
2197 Interval!Date(Date(1989, 3, 1), Date(1996, 1, 2))));
2199 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(PosInfInterval!Date(Date(1999,…
2200 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(PosInfInterval!Date(Date(2012…
2202 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(NegInfInterval!Date(Date(1996…
2203 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(NegInfInterval!Date(Date(2000,…
2211 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2213 …assertThrown!DateTimeException(interval.intersection(Interval!Date(Date(2010, 7, 4), dur!"days"(0)…
2214 …assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).intersection(interva…
2215 assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).intersection(
2216 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2218 …assertThrown!DateTimeException(interval.intersection(Interval!Date(Date(2010, 7, 1), Date(2010, 7,…
2219 …assertThrown!DateTimeException(interval.intersection(Interval!Date(Date(2010, 7, 3), Date(2010, 7,…
2220 …assertThrown!DateTimeException(interval.intersection(Interval!Date(Date(2012, 1, 7), Date(2012, 1,…
2221 …assertThrown!DateTimeException(interval.intersection(Interval!Date(Date(2012, 1, 8), Date(2012, 1,…
2223 …assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)).intersection(inte…
2224 …assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).intersection(inte…
2225 …assertThrown!DateTimeException(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).intersection(inte…
2226 …assertThrown!DateTimeException(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)).intersection(inte…
2228 assertThrown!DateTimeException(interval.intersection(PosInfInterval!Date(Date(2012, 1, 7))));
2229 assertThrown!DateTimeException(interval.intersection(PosInfInterval!Date(Date(2012, 1, 8))));
2231 assertThrown!DateTimeException(interval.intersection(NegInfInterval!Date(Date(2010, 7, 3))));
2232 assertThrown!DateTimeException(interval.intersection(NegInfInterval!Date(Date(2010, 7, 4))));
2235 assert(interval.intersection(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
2236 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2237 assert(interval.intersection(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
2238 Interval!Date(Date(2010, 7, 4), Date(2010, 7, 5)));
2239 assert(interval.intersection(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
2240 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2241 assert(interval.intersection(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
2242 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2243 assert(interval.intersection(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
2244 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)));
2245 assert(interval.intersection(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
2246 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)));
2247 assert(interval.intersection(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
2248 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
2249 assert(interval.intersection(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
2250 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
2252 assert(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).intersection(interval) ==
2253 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2254 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).intersection(interval) ==
2255 Interval!Date(Date(2010, 7, 4), Date(2010, 7, 5)));
2256 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).intersection(interval) ==
2257 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2258 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).intersection(interval) ==
2259 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2260 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).intersection(interval) ==
2261 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)));
2262 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).intersection(interval) ==
2263 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)));
2264 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).intersection(interval) ==
2265 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
2266 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).intersection(interval) ==
2267 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
2269 assert(interval.intersection(PosInfInterval!Date(Date(2010, 7, 3))) ==
2270 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2271 assert(interval.intersection(PosInfInterval!Date(Date(2010, 7, 4))) ==
2272 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2273 assert(interval.intersection(PosInfInterval!Date(Date(2010, 7, 5))) ==
2274 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)));
2275 assert(interval.intersection(PosInfInterval!Date(Date(2012, 1, 6))) ==
2276 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
2278 assert(interval.intersection(NegInfInterval!Date(Date(2010, 7, 5))) ==
2279 Interval!Date(Date(2010, 7, 4), Date(2010, 7, 5)));
2280 assert(interval.intersection(NegInfInterval!Date(Date(2012, 1, 6))) ==
2281 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 6)));
2282 assert(interval.intersection(NegInfInterval!Date(Date(2012, 1, 7))) ==
2283 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2284 assert(interval.intersection(NegInfInterval!Date(Date(2012, 1, 8))) ==
2285 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2287 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2288 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2289 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2290 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2291 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2292 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2293 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2294 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2324 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
2325 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))) ==
2326 Interval!Date(Date(1996, 1 , 2), Date(2000, 8, 2)));
2327 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
2328 Interval!Date(Date(1999, 1, 12),Date(2011, 9, 17))) ==
2329 Interval!Date(Date(1999, 1 , 12), Date(2011, 9, 17)));
2331 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
2332 PosInfInterval!Date(Date(1990, 7, 6))) ==
2333 Interval!Date(Date(1996, 1 , 2), Date(2012, 3, 1)));
2334 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
2335 PosInfInterval!Date(Date(1999, 1, 12))) ==
2336 Interval!Date(Date(1999, 1 , 12), Date(2012, 3, 1)));
2338 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
2339 NegInfInterval!Date(Date(1999, 7, 6))) ==
2340 Interval!Date(Date(1996, 1 , 2), Date(1999, 7, 6)));
2341 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
2342 NegInfInterval!Date(Date(2013, 1, 12))) ==
2343 Interval!Date(Date(1996, 1 , 2), Date(2012, 3, 1)));
2351 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2353 static void testInterval(in Interval!Date interval1, in Interval!Date interval2)
2358 …assertThrown!DateTimeException(testInterval(interval, Interval!Date(Date(2010, 7, 4), dur!"days"(0…
2359 …assertThrown!DateTimeException(testInterval(Interval!Date(Date(2010, 7, 4), dur!"days"(0)), interv…
2360 assertThrown!DateTimeException(testInterval(Interval!Date(Date(2010, 7, 4), dur!"days"(0)),
2361 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2364 assert(!interval.isAdjacent(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
2365 assert(!interval.isAdjacent(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
2366 assert(interval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
2367 assert(!interval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
2368 assert(!interval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
2369 assert(!interval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
2370 assert(!interval.isAdjacent(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
2371 assert(!interval.isAdjacent(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
2372 assert(!interval.isAdjacent(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
2373 assert(!interval.isAdjacent(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
2374 assert(interval.isAdjacent(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
2375 assert(!interval.isAdjacent(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
2377 assert(!Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)).isAdjacent(interval));
2378 assert(!Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).isAdjacent(interval));
2379 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).isAdjacent(interval));
2380 assert(!Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).isAdjacent(interval));
2381 assert(!Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).isAdjacent(interval));
2382 assert(!Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).isAdjacent(interval));
2383 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).isAdjacent(interval));
2384 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).isAdjacent(interval));
2385 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).isAdjacent(interval));
2386 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).isAdjacent(interval));
2387 assert(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).isAdjacent(interval));
2388 assert(!Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)).isAdjacent(interval));
2390 assert(!interval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 3))));
2391 assert(!interval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 4))));
2392 assert(!interval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 5))));
2393 assert(!interval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 6))));
2394 assert(interval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 7))));
2395 assert(!interval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 8))));
2397 assert(!interval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 3))));
2398 assert(interval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 4))));
2399 assert(!interval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 5))));
2400 assert(!interval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 6))));
2401 assert(!interval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 7))));
2402 assert(!interval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 8))));
2404 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2405 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2406 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2407 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2408 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2409 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2410 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2411 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2441 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
2442 Interval!Date(Date(1990, 7, 6), Date(1996, 1, 2))));
2443 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
2444 Interval!Date(Date(2012, 3, 1), Date(2013, 9, 17))));
2445 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
2446 Interval!Date(Date(1989, 3, 1), Date(2012, 3, 1))));
2448 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(PosInfInterval!Date(Date(1999…
2449 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(PosInfInterval!Date(Date(2012,…
2451 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(NegInfInterval!Date(Date(1996,…
2452 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)) .isAdjacent(NegInfInterval!Date(Date(200…
2460 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2462 static void testInterval(I)(in Interval!Date interval1, in I interval2) in testInterval()
2467 …assertThrown!DateTimeException(testInterval(interval, Interval!Date(Date(2010, 7, 4), dur!"days"(0…
2468 …assertThrown!DateTimeException(testInterval(Interval!Date(Date(2010, 7, 4), dur!"days"(0)), interv…
2469 assertThrown!DateTimeException(testInterval(Interval!Date(Date(2010, 7, 4), dur!"days"(0)),
2470 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2472 …assertThrown!DateTimeException(testInterval(interval, Interval!Date(Date(2010, 7, 1), Date(2010, 7…
2473 …assertThrown!DateTimeException(testInterval(interval, Interval!Date(Date(2012, 1, 8), Date(2012, 1…
2475 …assertThrown!DateTimeException(testInterval(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)), int…
2476 …assertThrown!DateTimeException(testInterval(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)), int…
2478 assertThrown!DateTimeException(testInterval(interval, PosInfInterval!Date(Date(2012, 1, 8))));
2480 assertThrown!DateTimeException(testInterval(interval, NegInfInterval!Date(Date(2010, 7, 3))));
2483 assert(interval.merge(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
2484 Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)));
2485 assert(interval.merge(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))) ==
2486 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2487 assert(interval.merge(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
2488 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2489 assert(interval.merge(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
2490 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2491 assert(interval.merge(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
2492 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)));
2493 assert(interval.merge(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
2494 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2495 assert(interval.merge(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
2496 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2497 assert(interval.merge(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
2498 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2499 assert(interval.merge(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
2500 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2501 assert(interval.merge(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))) ==
2502 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2504 assert(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).merge(interval) ==
2505 Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)));
2506 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).merge(interval) ==
2507 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2508 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).merge(interval) ==
2509 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2510 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).merge(interval) ==
2511 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2512 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).merge(interval) ==
2513 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)));
2514 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).merge(interval) ==
2515 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2516 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).merge(interval) ==
2517 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2518 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).merge(interval) ==
2519 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2520 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).merge(interval) ==
2521 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2522 assert(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).merge(interval) ==
2523 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2525 assert(interval.merge(PosInfInterval!Date(Date(2010, 7, 3))) ==
2526 PosInfInterval!Date(Date(2010, 7, 3)));
2527 assert(interval.merge(PosInfInterval!Date(Date(2010, 7, 4))) ==
2528 PosInfInterval!Date(Date(2010, 7, 4)));
2529 assert(interval.merge(PosInfInterval!Date(Date(2010, 7, 5))) ==
2530 PosInfInterval!Date(Date(2010, 7, 4)));
2531 assert(interval.merge(PosInfInterval!Date(Date(2012, 1, 6))) ==
2532 PosInfInterval!Date(Date(2010, 7, 4)));
2533 assert(interval.merge(PosInfInterval!Date(Date(2012, 1, 7))) ==
2534 PosInfInterval!Date(Date(2010, 7, 4)));
2536 assert(interval.merge(NegInfInterval!Date(Date(2010, 7, 4))) ==
2537 NegInfInterval!Date(Date(2012, 1, 7)));
2538 assert(interval.merge(NegInfInterval!Date(Date(2010, 7, 5))) ==
2539 NegInfInterval!Date(Date(2012, 1, 7)));
2540 assert(interval.merge(NegInfInterval!Date(Date(2012, 1, 6))) ==
2541 NegInfInterval!Date(Date(2012, 1, 7)));
2542 assert(interval.merge(NegInfInterval!Date(Date(2012, 1, 7))) ==
2543 NegInfInterval!Date(Date(2012, 1, 7)));
2544 assert(interval.merge(NegInfInterval!Date(Date(2012, 1, 8))) ==
2545 NegInfInterval!Date(Date(2012, 1, 8)));
2547 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2548 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2549 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2550 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2551 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2552 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2553 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2554 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2584 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(Interval!Date(Date(1990, 7, 6), Dat…
2585 Interval!Date(Date(1990, 7 , 6), Date(2012, 3, 1)));
2586 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(Interval!Date(Date(2012, 3, 1), Dat…
2587 Interval!Date(Date(1996, 1 , 2), Date(2013, 5, 7)));
2589 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(PosInfInterval!Date(Date(1990, 7, 6…
2590 PosInfInterval!Date(Date(1990, 7 , 6)));
2591 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(PosInfInterval!Date(Date(2012, 3, 1…
2592 PosInfInterval!Date(Date(1996, 1 , 2)));
2594 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(NegInfInterval!Date(Date(1996, 1, 2…
2595 NegInfInterval!Date(Date(2012, 3 , 1)));
2596 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(NegInfInterval!Date(Date(2013, 1, 1…
2597 NegInfInterval!Date(Date(2013, 1 , 12)));
2605 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2607 static void testInterval(in Interval!Date interval1, in Interval!Date interval2)
2612 …assertThrown!DateTimeException(testInterval(interval, Interval!Date(Date(2010, 7, 4), dur!"days"(0…
2613 …assertThrown!DateTimeException(testInterval(Interval!Date(Date(2010, 7, 4), dur!"days"(0)),interva…
2614 assertThrown!DateTimeException(testInterval(Interval!Date(Date(2010, 7, 4), dur!"days"(0)),
2615 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2618 assert(interval.span(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))) ==
2619 Interval!Date(Date(2010, 7, 1), Date(2012, 1, 7)));
2620 assert(interval.span(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
2621 Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)));
2622 assert(interval.span(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))) ==
2623 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2624 assert(interval.span(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
2625 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2626 assert(interval.span(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
2627 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2628 assert(interval.span(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
2629 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)));
2630 assert(interval.span(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
2631 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2632 assert(interval.span(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
2633 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2634 assert(interval.span(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
2635 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2636 assert(interval.span(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
2637 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2638 assert(interval.span(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))) ==
2639 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2640 assert(interval.span(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))) ==
2641 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 9)));
2643 assert(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)).span(interval) ==
2644 Interval!Date(Date(2010, 7, 1), Date(2012, 1, 7)));
2645 assert(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).span(interval) ==
2646 Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)));
2647 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).span(interval) ==
2648 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2649 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).span(interval) ==
2650 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2651 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).span(interval) ==
2652 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2653 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).span(interval) ==
2654 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)));
2655 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).span(interval) ==
2656 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2657 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).span(interval) ==
2658 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2659 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).span(interval) ==
2660 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2661 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).span(interval) ==
2662 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2663 assert(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).span(interval) ==
2664 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2665 assert(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)).span(interval) ==
2666 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 9)));
2668 …assert(interval.span(PosInfInterval!Date(Date(2010, 7, 3))) == PosInfInterval!Date(Date(2010, 7, 3…
2669 …assert(interval.span(PosInfInterval!Date(Date(2010, 7, 4))) == PosInfInterval!Date(Date(2010, 7, 4…
2670 …assert(interval.span(PosInfInterval!Date(Date(2010, 7, 5))) == PosInfInterval!Date(Date(2010, 7, 4…
2671 …assert(interval.span(PosInfInterval!Date(Date(2012, 1, 6))) == PosInfInterval!Date(Date(2010, 7, 4…
2672 …assert(interval.span(PosInfInterval!Date(Date(2012, 1, 7))) == PosInfInterval!Date(Date(2010, 7, 4…
2673 …assert(interval.span(PosInfInterval!Date(Date(2012, 1, 8))) == PosInfInterval!Date(Date(2010, 7, 4…
2675 …assert(interval.span(NegInfInterval!Date(Date(2010, 7, 3))) == NegInfInterval!Date(Date(2012, 1, 7…
2676 …assert(interval.span(NegInfInterval!Date(Date(2010, 7, 4))) == NegInfInterval!Date(Date(2012, 1, 7…
2677 …assert(interval.span(NegInfInterval!Date(Date(2010, 7, 5))) == NegInfInterval!Date(Date(2012, 1, 7…
2678 …assert(interval.span(NegInfInterval!Date(Date(2012, 1, 6))) == NegInfInterval!Date(Date(2012, 1, 7…
2679 …assert(interval.span(NegInfInterval!Date(Date(2012, 1, 7))) == NegInfInterval!Date(Date(2012, 1, 7…
2680 …assert(interval.span(NegInfInterval!Date(Date(2012, 1, 8))) == NegInfInterval!Date(Date(2012, 1, 8…
2682 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2683 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2684 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2685 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2686 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2687 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2688 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2689 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2719 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(Interval!Date(Date(1990, 7, 6), Date
2720 Interval!Date(Date(1990, 7 , 6), Date(2012, 3, 1)));
2721 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(Interval!Date(Date(2012, 3, 1), Date
2722 Interval!Date(Date(1996, 1 , 2), Date(2013, 5, 7)));
2724 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(PosInfInterval!Date(Date(1990, 7, 6)…
2725 PosInfInterval!Date(Date(1990, 7 , 6)));
2726 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(PosInfInterval!Date(Date(2050, 1, 1)…
2727 PosInfInterval!Date(Date(1996, 1 , 2)));
2729 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(NegInfInterval!Date(Date(1602, 5, 21…
2730 NegInfInterval!Date(Date(2012, 3 , 1)));
2731 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(NegInfInterval!Date(Date(2013, 1, 12…
2732 NegInfInterval!Date(Date(2013, 1 , 12)));
2740 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2742 static void testIntervalFail(Interval!Date interval, in Duration duration)
2747 …assertThrown!DateTimeException(testIntervalFail(Interval!Date(Date(2010, 7, 4), dur!"days"(0)), du…
2755 testInterval(interval, dur!"days"(22), Interval!Date(Date(2010, 7, 26), Date(2012, 1, 29)));
2756 testInterval(interval, dur!"days"(-22), Interval!Date(Date(2010, 6, 12), Date(2011, 12, 16)));
2758 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2759 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2764 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 4, 5));
2765 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 4, 5));
2768 assert(interval1 == Interval!Date(Date(1996, 2, 21), Date(2012, 5, 25)));
2771 assert(interval2 == Interval!Date(Date(1995, 11, 13), Date(2012, 2, 15)));
2780 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2782 static void testIntervalFail(Interval!Date interval, int years, int months)
2787 …assertThrown!DateTimeException(testIntervalFail(Interval!Date(Date(2010, 7, 4), dur!"days"(0)), 1,…
2796 …testInterval(interval, 5, 0, AllowDayOverflow.yes, Interval!Date(Date(2015, 7, 4), Date(2017, 1, 7…
2797 …testInterval(interval, -5, 0, AllowDayOverflow.yes, Interval!Date(Date(2005, 7, 4), Date(2007, 1, …
2799 auto interval2 = Interval!Date(Date(2000, 1, 29), Date(2010, 5, 31));
2801 …testInterval(interval2, 1, 1, AllowDayOverflow.yes, Interval!Date(Date(2001, 3, 1), Date(2011, 7, …
2802 …testInterval(interval2, 1, -1, AllowDayOverflow.yes, Interval!Date(Date(2000, 12, 29), Date(2011, …
2803 …estInterval(interval2, -1, -1, AllowDayOverflow.yes, Interval!Date(Date(1998, 12, 29), Date(2009, …
2804 …testInterval(interval2, -1, 1, AllowDayOverflow.yes, Interval!Date(Date(1999, 3, 1), Date(2009, 7,…
2806 …testInterval(interval2, 1, 1, AllowDayOverflow.no, Interval!Date(Date(2001, 2, 28), Date(2011, 6, …
2807 …testInterval(interval2, 1, -1, AllowDayOverflow.no, Interval!Date(Date(2000, 12, 29), Date(2011, 4…
2808 …testInterval(interval2, -1, -1, AllowDayOverflow.no, Interval!Date(Date(1998, 12, 29), Date(2009, …
2809 …testInterval(interval2, -1, 1, AllowDayOverflow.no, Interval!Date(Date(1999, 2, 28), Date(2009, 6,…
2812 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2813 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2818 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
2819 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
2822 assert(interval1 == Interval!Date(Date(1998, 1, 2), Date(2014, 3, 1)));
2825 assert(interval2 == Interval!Date(Date(1994, 1, 2), Date(2010, 3, 1)));
2833 auto interval = Interval!Date(Date(2000, 7, 4), Date(2012, 1, 7));
2840 …assertThrown!DateTimeException(testIntervalFail(Interval!Date(Date(2010, 7, 4), dur!"days"(0)), du…
2841 …assertThrown!DateTimeException(testIntervalFail(Interval!Date(Date(2010, 7, 4), Date(2010, 7, 5)),…
2849 testInterval(interval, dur!"days"(22), Interval!Date(Date(2000, 6, 12), Date(2012, 1, 29)));
2850 testInterval(interval, dur!"days"(-22), Interval!Date(Date(2000, 7, 26), Date(2011, 12, 16)));
2852 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2853 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2858 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
2859 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
2862 assert(interval1 == Interval!Date(Date(1995, 12, 31), Date(2012, 3, 3)));
2865 assert(interval2 == Interval!Date(Date(1996, 1, 4), Date(2012, 2, 28)));
2874 auto interval = Interval!Date(Date(2000, 7, 4), Date(2012, 1, 7));
2876 static void testIntervalFail(Interval!Date interval, int years, int months)
2881 …assertThrown!DateTimeException(testIntervalFail(Interval!Date(Date(2010, 7, 4), dur!"days"(0)), 1,…
2882 …assertThrown!DateTimeException(testIntervalFail(Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)),…
2892 Interval!Date(Date(1995, 7, 4), Date(2017, 1, 7)));
2894 Interval!Date(Date(2005, 7, 4), Date(2007, 1, 7)));
2897 Interval!Date(Date(2000, 7, 4), Date(2017, 1, 7)));
2899 Interval!Date(Date(2000, 7, 4), Date(2007, 1, 7)));
2902 Interval!Date(Date(1995, 7, 4), Date(2012, 1, 7)));
2904 Interval!Date(Date(2005, 7, 4), Date(2012, 1, 7)));
2906 auto interval2 = Interval!Date(Date(2000, 1, 29), Date(2010, 5, 31));
2909 Interval!Date(Date(1998, 12, 29), Date(2011, 7, 1)));
2911 Interval!Date(Date(1999, 3, 1), Date(2011, 5, 1)));
2913 Interval!Date(Date(2001, 3, 1), Date(2009, 5, 1)));
2915 Interval!Date(Date(2000, 12, 29), Date(2009, 7, 1)));
2918 Interval!Date(Date(1998, 12, 29), Date(2011, 6, 30)));
2920 Interval!Date(Date(1999, 2, 28), Date(2011, 4, 30)));
2922 Interval!Date(Date(2001, 2, 28), Date(2009, 4, 30)));
2924 Interval!Date(Date(2000, 12, 29), Date(2009, 6, 30)));
2927 Interval!Date(Date(2000, 1, 29), Date(2011, 7, 1)));
2929 Interval!Date(Date(2000, 1, 29), Date(2011, 5, 1)));
2931 Interval!Date(Date(2000, 1, 29), Date(2009, 5, 1)));
2933 Interval!Date(Date(2000, 1, 29), Date(2009, 7, 1)));
2936 Interval!Date(Date(2000, 1, 29), Date(2011, 6, 30)));
2938 Interval!Date(Date(2000, 1, 29), Date(2011, 4, 30)));
2940 Interval!Date(Date(2000, 1, 29), Date(2009, 4, 30)));
2942 Interval!Date(Date(2000, 1, 29), Date(2009, 6, 30)));
2945 Interval!Date(Date(1998, 12, 29), Date(2010, 5, 31)));
2947 Interval!Date(Date(1999, 3, 1), Date(2010, 5, 31)));
2949 Interval!Date(Date(2001, 3, 1), Date(2010, 5, 31)));
2951 Interval!Date(Date(2000, 12, 29), Date(2010, 5, 31)));
2954 Interval!Date(Date(1998, 12, 29), Date(2010, 5, 31)));
2956 Interval!Date(Date(1999, 2, 28), Date(2010, 5, 31)));
2958 Interval!Date(Date(2001, 2, 28), Date(2010, 5, 31)));
2960 Interval!Date(Date(2000, 12, 29), Date(2010, 5, 31)));
2963 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2964 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2969 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
2970 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
2973 assert(interval1 == Interval!Date(Date(1994, 1, 2), Date(2014, 3, 1)));
2976 assert(interval2 == Interval!Date(Date(1998, 1, 2), Date(2010, 3, 1)));
2985 auto interval = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 21));
2987 static void testInterval1(Interval!Date interval)
2989 interval.fwdRange(everyDayOfWeek!Date(DayOfWeek.fri));
2992 … assertThrown!DateTimeException(testInterval1(Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2994 static void testInterval2(Interval!Date interval)
2996 interval.fwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri)).popFront();
3001 assert(!interval.fwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).empty);
3002 assert(interval.fwdRange(everyDayOfWeek!Date(DayOfWeek.fri), PopFirst.yes).empty);
3004 …assert(Interval!Date(Date(2010, 9, 12), Date(2010, 10, 1)).fwdRange(everyDayOfWeek!Date(DayOfWeek.…
3005 Date(2010, 9, 12));
3007 assert(Interval!Date(Date(2010, 9, 12), Date(2010, 10, 1)).fwdRange(
3008 everyDayOfWeek!Date(DayOfWeek.fri), PopFirst.yes).front == Date(2010, 9, 17));
3013 auto interval = Interval!Date(Date(2010, 9, 1), Date(2010, 9, 9));
3014 auto func = delegate (in Date date) in delegate()
3023 assert(range.front == Date(2010, 9, 1));
3026 assert(range.front == Date(2010, 9, 2));
3029 assert(range.front == Date(2010, 9, 4));
3032 assert(range.front == Date(2010, 9, 6));
3035 assert(range.front == Date(2010, 9, 8));
3041 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
3042 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
3043 assert(!cInterval.fwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).empty);
3044 assert(!iInterval.fwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).empty);
3053 auto interval = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 21));
3055 static void testInterval1(Interval!Date interval)
3057 interval.bwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri));
3060 … assertThrown!DateTimeException(testInterval1(Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
3062 static void testInterval2(Interval!Date interval)
3064 interval.bwdRange(everyDayOfWeek!(Date, Direction.fwd)(DayOfWeek.fri)).popFront();
3069 assert(!interval.bwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri)).empty);
3070 …assert(interval.bwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri), PopFirst.yes).empty);
3072 assert(Interval!Date(Date(2010, 9, 19), Date(2010, 10, 1)).bwdRange(
3073 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri)).front == Date(2010, 10, 1));
3075 assert(Interval!Date(Date(2010, 9, 19), Date(2010, 10, 1)).bwdRange(
3076 … everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri), PopFirst.yes).front == Date(2010, 9, 24));
3081 auto interval = Interval!Date(Date(2010, 9, 1), Date(2010, 9, 9));
3082 auto func = delegate (in Date date) in delegate()
3091 assert(range.front == Date(2010, 9, 9));
3094 assert(range.front == Date(2010, 9, 8));
3097 assert(range.front == Date(2010, 9, 6));
3100 assert(range.front == Date(2010, 9, 4));
3103 assert(range.front == Date(2010, 9, 2));
3109 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
3110 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
3111 assert(!cInterval.bwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).empty);
3112 assert(!iInterval.bwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).empty);
3120 …assert(Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).toString() == "[2010-Jul-04 - 2012-Jan-07…
3122 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
3123 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
3146 auto interval = PosInfInterval!Date(Date(1996, 1, 2)); in PosInfInterval()
3182 assert(PosInfInterval!Date(Date(1996, 1, 2)).begin == Date(1996, 1, 2)); in PosInfInterval()
4160 PosInfInterval!Date(Date.init);
4166 auto interval = PosInfInterval!Date(Date(1996, 1, 2));
4174 assert(PosInfInterval!Date(Date(1, 1, 1)).begin == Date(1, 1, 1));
4175 assert(PosInfInterval!Date(Date(2010, 1, 1)).begin == Date(2010, 1, 1));
4176 assert(PosInfInterval!Date(Date(1997, 12, 31)).begin == Date(1997, 12, 31));
4178 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4179 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4180 assert(cPosInfInterval.begin != Date.init);
4181 assert(iPosInfInterval.begin != Date.init);
4184 assert(PosInfInterval!Date(Date(1996, 1, 2)).begin == Date(1996, 1, 2));
4193 assert(!PosInfInterval!Date(Date(2010, 1, 1)).empty);
4198 const cPosInfInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4199 immutable iPosInfInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4204 assert(!PosInfInterval!Date(Date(1996, 1, 2)).empty);
4212 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4214 assert(!posInfInterval.contains(Date(2009, 7, 4)));
4215 assert(!posInfInterval.contains(Date(2010, 7, 3)));
4216 assert(posInfInterval.contains(Date(2010, 7, 4)));
4217 assert(posInfInterval.contains(Date(2010, 7, 5)));
4218 assert(posInfInterval.contains(Date(2011, 7, 1)));
4219 assert(posInfInterval.contains(Date(2012, 1, 6)));
4220 assert(posInfInterval.contains(Date(2012, 1, 7)));
4221 assert(posInfInterval.contains(Date(2012, 1, 8)));
4222 assert(posInfInterval.contains(Date(2013, 1, 7)));
4224 const cdate = Date(2010, 7, 6);
4225 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4226 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4232 assert(!PosInfInterval!Date(Date(1996, 1, 2)).contains(Date(1994, 12, 24)));
4233 assert(PosInfInterval!Date(Date(1996, 1, 2)).contains(Date(2000, 1, 5)));
4241 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4243 static void testInterval(in PosInfInterval!Date posInfInterval, in Interval!Date interval)
4248 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
4251 assert(!posInfInterval.contains(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
4252 assert(!posInfInterval.contains(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
4253 assert(!posInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
4254 assert(!posInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
4255 assert(!posInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
4256 assert(!posInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
4257 assert(posInfInterval.contains(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
4258 assert(posInfInterval.contains(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
4259 assert(posInfInterval.contains(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
4260 assert(posInfInterval.contains(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
4261 assert(posInfInterval.contains(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
4262 assert(posInfInterval.contains(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
4264 assert(!posInfInterval.contains(PosInfInterval!Date(Date(2010, 7, 3))));
4265 assert(posInfInterval.contains(PosInfInterval!Date(Date(2010, 7, 4))));
4266 assert(posInfInterval.contains(PosInfInterval!Date(Date(2010, 7, 5))));
4267 assert(posInfInterval.contains(PosInfInterval!Date(Date(2012, 1, 6))));
4268 assert(posInfInterval.contains(PosInfInterval!Date(Date(2012, 1, 7))));
4269 assert(posInfInterval.contains(PosInfInterval!Date(Date(2012, 1, 8))));
4271 assert(PosInfInterval!Date(Date(2010, 7, 3)).contains(posInfInterval));
4272 assert(PosInfInterval!Date(Date(2010, 7, 4)).contains(posInfInterval));
4273 assert(!PosInfInterval!Date(Date(2010, 7, 5)).contains(posInfInterval));
4274 assert(!PosInfInterval!Date(Date(2012, 1, 6)).contains(posInfInterval));
4275 assert(!PosInfInterval!Date(Date(2012, 1, 7)).contains(posInfInterval));
4276 assert(!PosInfInterval!Date(Date(2012, 1, 8)).contains(posInfInterval));
4278 assert(!posInfInterval.contains(NegInfInterval!Date(Date(2010, 7, 3))));
4279 assert(!posInfInterval.contains(NegInfInterval!Date(Date(2010, 7, 4))));
4280 assert(!posInfInterval.contains(NegInfInterval!Date(Date(2010, 7, 5))));
4281 assert(!posInfInterval.contains(NegInfInterval!Date(Date(2012, 1, 6))));
4282 assert(!posInfInterval.contains(NegInfInterval!Date(Date(2012, 1, 7))));
4283 assert(!posInfInterval.contains(NegInfInterval!Date(Date(2012, 1, 8))));
4285 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4286 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4287 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4288 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4289 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4290 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4291 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4292 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4322 …assert(!PosInfInterval!Date(Date(1996, 1, 2)).contains(Interval!Date(Date(1990, 7, 6), Date(2000, …
4323 …assert(PosInfInterval!Date(Date(1996, 1, 2)).contains(Interval!Date(Date(1999, 1, 12), Date(2011, …
4324 …assert(PosInfInterval!Date(Date(1996, 1, 2)).contains(Interval!Date(Date(1998, 2, 28), Date(2013, …
4326 assert(PosInfInterval!Date(Date(1996, 1, 2)).contains(PosInfInterval!Date(Date(1999, 5, 4))));
4327 assert(!PosInfInterval!Date(Date(1996, 1, 2)).contains(PosInfInterval!Date(Date(1995, 7, 2))));
4329 assert(!PosInfInterval!Date(Date(1996, 1, 2)).contains(NegInfInterval!Date(Date(1996, 5, 4))));
4337 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4339 assert(!posInfInterval.isBefore(Date(2009, 7, 3)));
4340 assert(!posInfInterval.isBefore(Date(2010, 7, 3)));
4341 assert(!posInfInterval.isBefore(Date(2010, 7, 4)));
4342 assert(!posInfInterval.isBefore(Date(2010, 7, 5)));
4343 assert(!posInfInterval.isBefore(Date(2011, 7, 1)));
4344 assert(!posInfInterval.isBefore(Date(2012, 1, 6)));
4345 assert(!posInfInterval.isBefore(Date(2012, 1, 7)));
4346 assert(!posInfInterval.isBefore(Date(2012, 1, 8)));
4347 assert(!posInfInterval.isBefore(Date(2013, 1, 7)));
4349 const cdate = Date(2010, 7, 6);
4350 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4351 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4357 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isBefore(Date(1994, 12, 24)));
4358 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isBefore(Date(2000, 1, 5)));
4366 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4368 static void testInterval(in PosInfInterval!Date posInfInterval, in Interval!Date interval)
4373 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
4376 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
4377 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
4378 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
4379 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
4380 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
4381 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
4382 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
4383 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
4384 assert(!posInfInterval.isBefore(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
4385 assert(!posInfInterval.isBefore(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
4386 assert(!posInfInterval.isBefore(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
4387 assert(!posInfInterval.isBefore(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
4389 assert(!posInfInterval.isBefore(PosInfInterval!Date(Date(2010, 7, 3))));
4390 assert(!posInfInterval.isBefore(PosInfInterval!Date(Date(2010, 7, 4))));
4391 assert(!posInfInterval.isBefore(PosInfInterval!Date(Date(2010, 7, 5))));
4392 assert(!posInfInterval.isBefore(PosInfInterval!Date(Date(2012, 1, 6))));
4393 assert(!posInfInterval.isBefore(PosInfInterval!Date(Date(2012, 1, 7))));
4394 assert(!posInfInterval.isBefore(PosInfInterval!Date(Date(2012, 1, 8))));
4396 assert(!PosInfInterval!Date(Date(2010, 7, 3)).isBefore(posInfInterval));
4397 assert(!PosInfInterval!Date(Date(2010, 7, 4)).isBefore(posInfInterval));
4398 assert(!PosInfInterval!Date(Date(2010, 7, 5)).isBefore(posInfInterval));
4399 assert(!PosInfInterval!Date(Date(2012, 1, 6)).isBefore(posInfInterval));
4400 assert(!PosInfInterval!Date(Date(2012, 1, 7)).isBefore(posInfInterval));
4401 assert(!PosInfInterval!Date(Date(2012, 1, 8)).isBefore(posInfInterval));
4403 assert(!posInfInterval.isBefore(NegInfInterval!Date(Date(2010, 7, 3))));
4404 assert(!posInfInterval.isBefore(NegInfInterval!Date(Date(2010, 7, 4))));
4405 assert(!posInfInterval.isBefore(NegInfInterval!Date(Date(2010, 7, 5))));
4406 assert(!posInfInterval.isBefore(NegInfInterval!Date(Date(2012, 1, 6))));
4407 assert(!posInfInterval.isBefore(NegInfInterval!Date(Date(2012, 1, 7))));
4408 assert(!posInfInterval.isBefore(NegInfInterval!Date(Date(2012, 1, 8))));
4410 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4411 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4412 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4413 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4414 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4415 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4416 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4417 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4447 …assert(!PosInfInterval!Date(Date(1996, 1, 2)).isBefore(Interval!Date(Date(1990, 7, 6), Date(2000, …
4448 …assert(!PosInfInterval!Date(Date(1996, 1, 2)).isBefore(Interval!Date(Date(1999, 1, 12), Date(2011,…
4450 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isBefore(PosInfInterval!Date(Date(1992, 5, 4))));
4451 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isBefore(PosInfInterval!Date(Date(2013, 3, 7))));
4453 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isBefore(NegInfInterval!Date(Date(1996, 5, 4))));
4461 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4463 assert(posInfInterval.isAfter(Date(2009, 7, 3)));
4464 assert(posInfInterval.isAfter(Date(2010, 7, 3)));
4465 assert(!posInfInterval.isAfter(Date(2010, 7, 4)));
4466 assert(!posInfInterval.isAfter(Date(2010, 7, 5)));
4467 assert(!posInfInterval.isAfter(Date(2011, 7, 1)));
4468 assert(!posInfInterval.isAfter(Date(2012, 1, 6)));
4469 assert(!posInfInterval.isAfter(Date(2012, 1, 7)));
4470 assert(!posInfInterval.isAfter(Date(2012, 1, 8)));
4471 assert(!posInfInterval.isAfter(Date(2013, 1, 7)));
4473 const cdate = Date(2010, 7, 6);
4474 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4475 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4481 assert(PosInfInterval!Date(Date(1996, 1, 2)).isAfter(Date(1994, 12, 24)));
4482 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAfter(Date(2000, 1, 5)));
4490 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4492 static void testInterval(in PosInfInterval!Date posInfInterval, in Interval!Date interval)
4497 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
4500 assert(posInfInterval.isAfter(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
4501 assert(!posInfInterval.isAfter(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
4502 assert(posInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
4503 assert(!posInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
4504 assert(!posInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
4505 assert(!posInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
4506 assert(!posInfInterval.isAfter(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
4507 assert(!posInfInterval.isAfter(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
4508 assert(!posInfInterval.isAfter(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
4509 assert(!posInfInterval.isAfter(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
4510 assert(!posInfInterval.isAfter(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
4511 assert(!posInfInterval.isAfter(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
4513 assert(!posInfInterval.isAfter(PosInfInterval!Date(Date(2010, 7, 3))));
4514 assert(!posInfInterval.isAfter(PosInfInterval!Date(Date(2010, 7, 4))));
4515 assert(!posInfInterval.isAfter(PosInfInterval!Date(Date(2010, 7, 5))));
4516 assert(!posInfInterval.isAfter(PosInfInterval!Date(Date(2012, 1, 6))));
4517 assert(!posInfInterval.isAfter(PosInfInterval!Date(Date(2012, 1, 7))));
4518 assert(!posInfInterval.isAfter(PosInfInterval!Date(Date(2012, 1, 8))));
4520 assert(!PosInfInterval!Date(Date(2010, 7, 3)).isAfter(posInfInterval));
4521 assert(!PosInfInterval!Date(Date(2010, 7, 4)).isAfter(posInfInterval));
4522 assert(!PosInfInterval!Date(Date(2010, 7, 5)).isAfter(posInfInterval));
4523 assert(!PosInfInterval!Date(Date(2012, 1, 6)).isAfter(posInfInterval));
4524 assert(!PosInfInterval!Date(Date(2012, 1, 7)).isAfter(posInfInterval));
4525 assert(!PosInfInterval!Date(Date(2012, 1, 8)).isAfter(posInfInterval));
4527 assert(posInfInterval.isAfter(NegInfInterval!Date(Date(2010, 7, 3))));
4528 assert(posInfInterval.isAfter(NegInfInterval!Date(Date(2010, 7, 4))));
4529 assert(!posInfInterval.isAfter(NegInfInterval!Date(Date(2010, 7, 5))));
4530 assert(!posInfInterval.isAfter(NegInfInterval!Date(Date(2012, 1, 6))));
4531 assert(!posInfInterval.isAfter(NegInfInterval!Date(Date(2012, 1, 7))));
4532 assert(!posInfInterval.isAfter(NegInfInterval!Date(Date(2012, 1, 8))));
4534 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4535 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4536 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4537 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4538 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4539 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4540 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4541 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4571 …assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAfter(Interval!Date(Date(1990, 7, 6), Date(2000, 8…
4572 …assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAfter(Interval!Date(Date(1999, 1, 12), Date(2011, …
4573 …assert(PosInfInterval!Date(Date(1996, 1, 2)).isAfter(Interval!Date(Date(1989, 3, 1), Date(1996, 1,…
4575 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAfter(PosInfInterval!Date(Date(1990, 1, 7))));
4576 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAfter(PosInfInterval!Date(Date(1999, 5, 4))));
4578 assert(PosInfInterval!Date(Date(1996, 1, 2)).isAfter(NegInfInterval!Date(Date(1996, 1, 2))));
4579 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAfter(NegInfInterval!Date(Date(2000, 7, 1))));
4587 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4589 static void testInterval(in PosInfInterval!Date posInfInterval, in Interval!Date interval)
4594 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
4597 assert(!posInfInterval.intersects(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
4598 assert(posInfInterval.intersects(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
4599 assert(!posInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
4600 assert(posInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
4601 assert(posInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
4602 assert(posInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
4603 assert(posInfInterval.intersects(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
4604 assert(posInfInterval.intersects(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
4605 assert(posInfInterval.intersects(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
4606 assert(posInfInterval.intersects(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
4607 assert(posInfInterval.intersects(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
4608 assert(posInfInterval.intersects(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
4610 assert(posInfInterval.intersects(PosInfInterval!Date(Date(2010, 7, 3))));
4611 assert(posInfInterval.intersects(PosInfInterval!Date(Date(2010, 7, 4))));
4612 assert(posInfInterval.intersects(PosInfInterval!Date(Date(2010, 7, 5))));
4613 assert(posInfInterval.intersects(PosInfInterval!Date(Date(2012, 1, 6))));
4614 assert(posInfInterval.intersects(PosInfInterval!Date(Date(2012, 1, 7))));
4615 assert(posInfInterval.intersects(PosInfInterval!Date(Date(2012, 1, 8))));
4617 assert(PosInfInterval!Date(Date(2010, 7, 3)).intersects(posInfInterval));
4618 assert(PosInfInterval!Date(Date(2010, 7, 4)).intersects(posInfInterval));
4619 assert(PosInfInterval!Date(Date(2010, 7, 5)).intersects(posInfInterval));
4620 assert(PosInfInterval!Date(Date(2012, 1, 6)).intersects(posInfInterval));
4621 assert(PosInfInterval!Date(Date(2012, 1, 7)).intersects(posInfInterval));
4622 assert(PosInfInterval!Date(Date(2012, 1, 8)).intersects(posInfInterval));
4624 assert(!posInfInterval.intersects(NegInfInterval!Date(Date(2010, 7, 3))));
4625 assert(!posInfInterval.intersects(NegInfInterval!Date(Date(2010, 7, 4))));
4626 assert(posInfInterval.intersects(NegInfInterval!Date(Date(2010, 7, 5))));
4627 assert(posInfInterval.intersects(NegInfInterval!Date(Date(2012, 1, 6))));
4628 assert(posInfInterval.intersects(NegInfInterval!Date(Date(2012, 1, 7))));
4629 assert(posInfInterval.intersects(NegInfInterval!Date(Date(2012, 1, 8))));
4631 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4632 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4633 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4634 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4635 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4636 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4637 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4638 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4668 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersects(Interval!Date(Date(1990, 7, 6), Date(2000,…
4669 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersects(Interval!Date(Date(1999, 1, 12), Date(2011…
4670 …assert(!PosInfInterval!Date(Date(1996, 1, 2)).intersects(Interval!Date(Date(1989, 3, 1), Date(1996…
4672 assert(PosInfInterval!Date(Date(1996, 1, 2)).intersects(PosInfInterval!Date(Date(1990, 1, 7))));
4673 assert(PosInfInterval!Date(Date(1996, 1, 2)).intersects(PosInfInterval!Date(Date(1999, 5, 4))));
4675 … assert(!PosInfInterval!Date(Date(1996, 1, 2)).intersects(NegInfInterval!Date(Date(1996, 1, 2))));
4676 assert(PosInfInterval!Date(Date(1996, 1, 2)).intersects(NegInfInterval!Date(Date(2000, 7, 1))));
4684 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4691 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
4693 …Thrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 1), Date(2010, 7…
4694 …Thrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 3), Date(2010, 7…
4696 …assertThrown!DateTimeException(testInterval(posInfInterval, NegInfInterval!Date(Date(2010, 7, 3)))…
4697 …assertThrown!DateTimeException(testInterval(posInfInterval, NegInfInterval!Date(Date(2010, 7, 4)))…
4700 assert(posInfInterval.intersection(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
4701 Interval!Date(Date(2010, 7, 4), Date(2013, 7, 3)));
4702 assert(posInfInterval.intersection(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
4703 Interval!Date(Date(2010, 7, 4), Date(2010, 7, 5)));
4704 assert(posInfInterval.intersection(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
4705 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
4706 assert(posInfInterval.intersection(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
4707 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
4708 assert(posInfInterval.intersection(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
4709 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)));
4710 assert(posInfInterval.intersection(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
4711 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)));
4712 assert(posInfInterval.intersection(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
4713 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
4714 assert(posInfInterval.intersection(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
4715 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)));
4716 assert(posInfInterval.intersection(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))) ==
4717 Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)));
4718 assert(posInfInterval.intersection(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))) ==
4719 Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)));
4721 …assert(posInfInterval.intersection(PosInfInterval!Date(Date(2010, 7, 3))) == PosInfInterval!Date(D…
4722 …assert(posInfInterval.intersection(PosInfInterval!Date(Date(2010, 7, 4))) == PosInfInterval!Date(D…
4723 …assert(posInfInterval.intersection(PosInfInterval!Date(Date(2010, 7, 5))) == PosInfInterval!Date(D…
4724 …assert(posInfInterval.intersection(PosInfInterval!Date(Date(2012, 1, 6))) == PosInfInterval!Date(D…
4725 …assert(posInfInterval.intersection(PosInfInterval!Date(Date(2012, 1, 7))) == PosInfInterval!Date(D…
4726 …assert(posInfInterval.intersection(PosInfInterval!Date(Date(2012, 1, 8))) == PosInfInterval!Date(D…
4728 …assert(PosInfInterval!Date(Date(2010, 7, 3)).intersection(posInfInterval) == PosInfInterval!Date(D…
4729 …assert(PosInfInterval!Date(Date(2010, 7, 4)).intersection(posInfInterval) == PosInfInterval!Date(D…
4730 …assert(PosInfInterval!Date(Date(2010, 7, 5)).intersection(posInfInterval) == PosInfInterval!Date(D…
4731 …assert(PosInfInterval!Date(Date(2012, 1, 6)).intersection(posInfInterval) == PosInfInterval!Date(D…
4732 …assert(PosInfInterval!Date(Date(2012, 1, 7)).intersection(posInfInterval) == PosInfInterval!Date(D…
4733 …assert(PosInfInterval!Date(Date(2012, 1, 8)).intersection(posInfInterval) == PosInfInterval!Date(D…
4735 assert(posInfInterval.intersection(NegInfInterval!Date(Date(2010, 7, 5))) ==
4736 Interval!Date(Date(2010, 7, 4), Date(2010, 7, 5)));
4737 assert(posInfInterval.intersection(NegInfInterval!Date(Date(2012, 1, 6))) ==
4738 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 6)));
4739 assert(posInfInterval.intersection(NegInfInterval!Date(Date(2012, 1, 7))) ==
4740 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
4741 assert(posInfInterval.intersection(NegInfInterval!Date(Date(2012, 1, 8))) ==
4742 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
4744 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4745 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4746 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4747 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4748 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4749 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4750 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4751 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4781 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersection(Interval!Date(Date(1990, 7, 6), Date(200…
4782 Interval!Date(Date(1996, 1, 2), Date(2000, 8, 2)));
4783 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersection(Interval!Date(Date(1999, 1, 12), Date(20…
4784 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17)));
4786 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersection(PosInfInterval!Date(Date(1990, 7, 6))) ==
4787 PosInfInterval!Date(Date(1996, 1, 2)));
4788 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersection(PosInfInterval!Date(Date(1999, 1, 12))) …
4789 PosInfInterval!Date(Date(1999, 1, 12)));
4791 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersection(NegInfInterval!Date(Date(1999, 7, 6))) ==
4792 Interval!Date(Date(1996, 1, 2), Date(1999, 7, 6)));
4793 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersection(NegInfInterval!Date(Date(2013, 1, 12))) …
4794 Interval!Date(Date(1996, 1, 2), Date(2013, 1, 12)));
4802 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4804 static void testInterval(in PosInfInterval!Date posInfInterval, in Interval!Date interval)
4809 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
4812 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
4813 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
4814 assert(posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
4815 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
4816 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
4817 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
4818 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
4819 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
4820 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
4821 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
4822 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
4823 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
4825 assert(!posInfInterval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 3))));
4826 assert(!posInfInterval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 4))));
4827 assert(!posInfInterval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 5))));
4828 assert(!posInfInterval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 6))));
4829 assert(!posInfInterval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 7))));
4830 assert(!posInfInterval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 8))));
4832 assert(!PosInfInterval!Date(Date(2010, 7, 3)).isAdjacent(posInfInterval));
4833 assert(!PosInfInterval!Date(Date(2010, 7, 4)).isAdjacent(posInfInterval));
4834 assert(!PosInfInterval!Date(Date(2010, 7, 5)).isAdjacent(posInfInterval));
4835 assert(!PosInfInterval!Date(Date(2012, 1, 6)).isAdjacent(posInfInterval));
4836 assert(!PosInfInterval!Date(Date(2012, 1, 7)).isAdjacent(posInfInterval));
4837 assert(!PosInfInterval!Date(Date(2012, 1, 8)).isAdjacent(posInfInterval));
4839 assert(!posInfInterval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 3))));
4840 assert(posInfInterval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 4))));
4841 assert(!posInfInterval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 5))));
4842 assert(!posInfInterval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 6))));
4843 assert(!posInfInterval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 7))));
4844 assert(!posInfInterval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 8))));
4846 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4847 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4848 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4849 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4850 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4851 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4852 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4853 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4883 …assert(PosInfInterval!Date(Date(1996, 1, 2)).isAdjacent(Interval!Date(Date(1989, 3, 1), Date(1996,…
4884 …assert(!PosInfInterval!Date(Date(1999, 1, 12)).isAdjacent(Interval!Date(Date(1999, 1, 12), Date(20…
4886 … assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAdjacent(PosInfInterval!Date(Date(1990, 1, 7))));
4887 … assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAdjacent(PosInfInterval!Date(Date(1996, 1, 2))));
4889 assert(PosInfInterval!Date(Date(1996, 1, 2)).isAdjacent(NegInfInterval!Date(Date(1996, 1, 2))));
4890 … assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAdjacent(NegInfInterval!Date(Date(2000, 7, 1))));
4898 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4900 static void testInterval(in PosInfInterval!Date posInfInterval, in Interval!Date interval)
4905 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
4907 …Thrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 1), Date(2010, 7…
4910 assert(posInfInterval.merge(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
4911 PosInfInterval!Date(Date(2010, 7, 1)));
4912 assert(posInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))) ==
4913 PosInfInterval!Date(Date(2010, 7, 3)));
4914 assert(posInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
4915 PosInfInterval!Date(Date(2010, 7, 3)));
4916 assert(posInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
4917 PosInfInterval!Date(Date(2010, 7, 3)));
4918 assert(posInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
4919 PosInfInterval!Date(Date(2010, 7, 3)));
4920 assert(posInfInterval.merge(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
4921 PosInfInterval!Date(Date(2010, 7, 4)));
4922 assert(posInfInterval.merge(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
4923 PosInfInterval!Date(Date(2010, 7, 4)));
4924 assert(posInfInterval.merge(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
4925 PosInfInterval!Date(Date(2010, 7, 4)));
4926 assert(posInfInterval.merge(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
4927 PosInfInterval!Date(Date(2010, 7, 4)));
4928 assert(posInfInterval.merge(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))) ==
4929 PosInfInterval!Date(Date(2010, 7, 4)));
4930 assert(posInfInterval.merge(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))) ==
4931 PosInfInterval!Date(Date(2010, 7, 4)));
4933 …assert(posInfInterval.merge(PosInfInterval!Date(Date(2010, 7, 3))) == PosInfInterval!Date(Date(201…
4934 …assert(posInfInterval.merge(PosInfInterval!Date(Date(2010, 7, 4))) == PosInfInterval!Date(Date(201…
4935 …assert(posInfInterval.merge(PosInfInterval!Date(Date(2010, 7, 5))) == PosInfInterval!Date(Date(201…
4936 …assert(posInfInterval.merge(PosInfInterval!Date(Date(2012, 1, 6))) == PosInfInterval!Date(Date(201…
4937 …assert(posInfInterval.merge(PosInfInterval!Date(Date(2012, 1, 7))) == PosInfInterval!Date(Date(201…
4938 …assert(posInfInterval.merge(PosInfInterval!Date(Date(2012, 1, 8))) == PosInfInterval!Date(Date(201…
4940 …assert(PosInfInterval!Date(Date(2010, 7, 3)).merge(posInfInterval) == PosInfInterval!Date(Date(201…
4941 …assert(PosInfInterval!Date(Date(2010, 7, 4)).merge(posInfInterval) == PosInfInterval!Date(Date(201…
4942 …assert(PosInfInterval!Date(Date(2010, 7, 5)).merge(posInfInterval) == PosInfInterval!Date(Date(201…
4943 …assert(PosInfInterval!Date(Date(2012, 1, 6)).merge(posInfInterval) == PosInfInterval!Date(Date(201…
4944 …assert(PosInfInterval!Date(Date(2012, 1, 7)).merge(posInfInterval) == PosInfInterval!Date(Date(201…
4945 …assert(PosInfInterval!Date(Date(2012, 1, 8)).merge(posInfInterval) == PosInfInterval!Date(Date(201…
4947 static assert(!__traits(compiles, posInfInterval.merge(NegInfInterval!Date(Date(2010, 7, 3)))));
4948 static assert(!__traits(compiles, posInfInterval.merge(NegInfInterval!Date(Date(2010, 7, 4)))));
4949 static assert(!__traits(compiles, posInfInterval.merge(NegInfInterval!Date(Date(2010, 7, 5)))));
4950 static assert(!__traits(compiles, posInfInterval.merge(NegInfInterval!Date(Date(2012, 1, 6)))));
4951 static assert(!__traits(compiles, posInfInterval.merge(NegInfInterval!Date(Date(2012, 1, 7)))));
4952 static assert(!__traits(compiles, posInfInterval.merge(NegInfInterval!Date(Date(2012, 1, 8)))));
4954 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4955 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4956 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4957 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4958 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4959 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4960 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4961 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4991 …assert(PosInfInterval!Date(Date(1996, 1, 2)).merge(Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2…
4992 PosInfInterval!Date(Date(1990, 7, 6)));
4993 …assert(PosInfInterval!Date(Date(1996, 1, 2)).merge(Interval!Date(Date(1999, 1, 12), Date(2011, 9, …
4994 PosInfInterval!Date(Date(1996, 1, 2)));
4996 assert(PosInfInterval!Date(Date(1996, 1, 2)).merge(PosInfInterval!Date(Date(1990, 7, 6))) ==
4997 PosInfInterval!Date(Date(1990, 7, 6)));
4998 assert(PosInfInterval!Date(Date(1996, 1, 2)).merge(PosInfInterval!Date(Date(1999, 1, 12))) ==
4999 PosInfInterval!Date(Date(1996, 1, 2)));
5007 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5009 static void testInterval(in PosInfInterval!Date posInfInterval, in Interval!Date interval)
5014 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
5017 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))) ==
5018 PosInfInterval!Date(Date(2010, 7, 1)));
5019 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
5020 PosInfInterval!Date(Date(2010, 7, 1)));
5021 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))) ==
5022 PosInfInterval!Date(Date(2010, 7, 3)));
5023 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
5024 PosInfInterval!Date(Date(2010, 7, 3)));
5025 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
5026 PosInfInterval!Date(Date(2010, 7, 3)));
5027 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
5028 PosInfInterval!Date(Date(2010, 7, 3)));
5029 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
5030 PosInfInterval!Date(Date(2010, 7, 4)));
5031 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
5032 PosInfInterval!Date(Date(2010, 7, 4)));
5033 assert(posInfInterval.span(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
5034 PosInfInterval!Date(Date(2010, 7, 4)));
5035 assert(posInfInterval.span(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
5036 PosInfInterval!Date(Date(2010, 7, 4)));
5037 assert(posInfInterval.span(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))) ==
5038 PosInfInterval!Date(Date(2010, 7, 4)));
5039 assert(posInfInterval.span(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))) ==
5040 PosInfInterval!Date(Date(2010, 7, 4)));
5042 …assert(posInfInterval.span(PosInfInterval!Date(Date(2010, 7, 3))) == PosInfInterval!Date(Date(2010…
5043 …assert(posInfInterval.span(PosInfInterval!Date(Date(2010, 7, 4))) == PosInfInterval!Date(Date(2010…
5044 …assert(posInfInterval.span(PosInfInterval!Date(Date(2010, 7, 5))) == PosInfInterval!Date(Date(2010…
5045 …assert(posInfInterval.span(PosInfInterval!Date(Date(2012, 1, 6))) == PosInfInterval!Date(Date(2010…
5046 …assert(posInfInterval.span(PosInfInterval!Date(Date(2012, 1, 7))) == PosInfInterval!Date(Date(2010…
5047 …assert(posInfInterval.span(PosInfInterval!Date(Date(2012, 1, 8))) == PosInfInterval!Date(Date(2010…
5049 …assert(PosInfInterval!Date(Date(2010, 7, 3)).span(posInfInterval) == PosInfInterval!Date(Date(2010…
5050 …assert(PosInfInterval!Date(Date(2010, 7, 4)).span(posInfInterval) == PosInfInterval!Date(Date(2010…
5051 …assert(PosInfInterval!Date(Date(2010, 7, 5)).span(posInfInterval) == PosInfInterval!Date(Date(2010…
5052 …assert(PosInfInterval!Date(Date(2012, 1, 6)).span(posInfInterval) == PosInfInterval!Date(Date(2010…
5053 …assert(PosInfInterval!Date(Date(2012, 1, 7)).span(posInfInterval) == PosInfInterval!Date(Date(2010…
5054 …assert(PosInfInterval!Date(Date(2012, 1, 8)).span(posInfInterval) == PosInfInterval!Date(Date(2010…
5056 static assert(!__traits(compiles, posInfInterval.span(NegInfInterval!Date(Date(2010, 7, 3)))));
5057 static assert(!__traits(compiles, posInfInterval.span(NegInfInterval!Date(Date(2010, 7, 4)))));
5058 static assert(!__traits(compiles, posInfInterval.span(NegInfInterval!Date(Date(2010, 7, 5)))));
5059 static assert(!__traits(compiles, posInfInterval.span(NegInfInterval!Date(Date(2012, 1, 6)))));
5060 static assert(!__traits(compiles, posInfInterval.span(NegInfInterval!Date(Date(2012, 1, 7)))));
5061 static assert(!__traits(compiles, posInfInterval.span(NegInfInterval!Date(Date(2012, 1, 8)))));
5063 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
5064 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
5065 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
5066 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5067 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5068 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
5069 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
5070 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
5100 …assert(PosInfInterval!Date(Date(1996, 1, 2)).span(Interval!Date(Date(500, 8, 9), Date(1602, 1, 31)…
5101 PosInfInterval!Date(Date(500, 8, 9)));
5102 …assert(PosInfInterval!Date(Date(1996, 1, 2)).span(Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2)…
5103 PosInfInterval!Date(Date(1990, 7, 6)));
5104 …assert(PosInfInterval!Date(Date(1996, 1, 2)).span(Interval!Date(Date(1999, 1, 12), Date(2011, 9, 1…
5105 PosInfInterval!Date(Date(1996, 1, 2)));
5107 assert(PosInfInterval!Date(Date(1996, 1, 2)).span(PosInfInterval!Date(Date(1990, 7, 6))) ==
5108 PosInfInterval!Date(Date(1990, 7, 6)));
5109 assert(PosInfInterval!Date(Date(1996, 1, 2)).span(PosInfInterval!Date(Date(1999, 1, 12))) ==
5110 PosInfInterval!Date(Date(1996, 1, 2)));
5118 auto interval = PosInfInterval!Date(Date(2010, 7, 4));
5126 testInterval(interval, dur!"days"(22), PosInfInterval!Date(Date(2010, 7, 26)));
5127 testInterval(interval, dur!"days"(-22), PosInfInterval!Date(Date(2010, 6, 12)));
5129 const cInterval = PosInfInterval!Date(Date(2010, 7, 4));
5130 immutable iInterval = PosInfInterval!Date(Date(2010, 7, 4));
5135 auto interval1 = PosInfInterval!Date(Date(1996, 1, 2));
5136 auto interval2 = PosInfInterval!Date(Date(1996, 1, 2));
5139 assert(interval1 == PosInfInterval!Date(Date(1996, 2, 21)));
5142 assert(interval2 == PosInfInterval!Date(Date(1995, 11, 13)));
5151 auto interval = PosInfInterval!Date(Date(2010, 7, 4));
5160 testInterval(interval, 5, 0, AllowDayOverflow.yes, PosInfInterval!Date(Date(2015, 7, 4)));
5161 testInterval(interval, -5, 0, AllowDayOverflow.yes, PosInfInterval!Date(Date(2005, 7, 4)));
5163 auto interval2 = PosInfInterval!Date(Date(2000, 1, 29));
5165 testInterval(interval2, 1, 1, AllowDayOverflow.yes, PosInfInterval!Date(Date(2001, 3, 1)));
5166 … testInterval(interval2, 1, -1, AllowDayOverflow.yes, PosInfInterval!Date(Date(2000, 12, 29)));
5167 … testInterval(interval2, -1, -1, AllowDayOverflow.yes, PosInfInterval!Date(Date(1998, 12, 29)));
5168 testInterval(interval2, -1, 1, AllowDayOverflow.yes, PosInfInterval!Date(Date(1999, 3, 1)));
5170 testInterval(interval2, 1, 1, AllowDayOverflow.no, PosInfInterval!Date(Date(2001, 2, 28)));
5171 … testInterval(interval2, 1, -1, AllowDayOverflow.no, PosInfInterval!Date(Date(2000, 12, 29)));
5172 … testInterval(interval2, -1, -1, AllowDayOverflow.no, PosInfInterval!Date(Date(1998, 12, 29)));
5173 testInterval(interval2, -1, 1, AllowDayOverflow.no, PosInfInterval!Date(Date(1999, 2, 28)));
5176 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5177 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5182 auto interval1 = PosInfInterval!Date(Date(1996, 1, 2));
5183 auto interval2 = PosInfInterval!Date(Date(1996, 1, 2));
5186 assert(interval1 == PosInfInterval!Date(Date(1998, 1, 2)));
5189 assert(interval2 == PosInfInterval!Date(Date(1994, 1, 2)));
5197 auto interval = PosInfInterval!Date(Date(2000, 7, 4));
5205 testInterval(interval, dur!"days"(22), PosInfInterval!Date(Date(2000, 6, 12)));
5206 testInterval(interval, dur!"days"(-22), PosInfInterval!Date(Date(2000, 7, 26)));
5208 const cInterval = PosInfInterval!Date(Date(2010, 7, 4));
5209 immutable iInterval = PosInfInterval!Date(Date(2010, 7, 4));
5214 auto interval1 = PosInfInterval!Date(Date(1996, 1, 2));
5215 auto interval2 = PosInfInterval!Date(Date(1996, 1, 2));
5218 assert(interval1 == PosInfInterval!Date(Date(1995, 12, 31)));
5221 assert(interval2 == PosInfInterval!Date(Date(1996, 1, 4)));
5230 auto interval = PosInfInterval!Date(Date(2000, 7, 4));
5239 testInterval(interval, 5, 0, AllowDayOverflow.yes, PosInfInterval!Date(Date(1995, 7, 4)));
5240 testInterval(interval, -5, 0, AllowDayOverflow.yes, PosInfInterval!Date(Date(2005, 7, 4)));
5242 auto interval2 = PosInfInterval!Date(Date(2000, 1, 29));
5244 … testInterval(interval2, 1, 1, AllowDayOverflow.yes, PosInfInterval!Date(Date(1998, 12, 29)));
5245 testInterval(interval2, 1, -1, AllowDayOverflow.yes, PosInfInterval!Date(Date(1999, 3, 1)));
5246 … testInterval(interval2, -1, -1, AllowDayOverflow.yes, PosInfInterval!Date(Date(2001, 3, 1)));
5247 … testInterval(interval2, -1, 1, AllowDayOverflow.yes, PosInfInterval!Date(Date(2000, 12, 29)));
5249 testInterval(interval2, 1, 1, AllowDayOverflow.no, PosInfInterval!Date(Date(1998, 12, 29)));
5250 testInterval(interval2, 1, -1, AllowDayOverflow.no, PosInfInterval!Date(Date(1999, 2, 28)));
5251 … testInterval(interval2, -1, -1, AllowDayOverflow.no, PosInfInterval!Date(Date(2001, 2, 28)));
5252 … testInterval(interval2, -1, 1, AllowDayOverflow.no, PosInfInterval!Date(Date(2000, 12, 29)));
5255 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5256 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5261 auto interval1 = PosInfInterval!Date(Date(1996, 1, 2));
5262 auto interval2 = PosInfInterval!Date(Date(1996, 1, 2));
5265 assert(interval1 == PosInfInterval!Date(Date(1994, 1, 2)));
5268 assert(interval2 == PosInfInterval!Date(Date(1998, 1, 2)));
5276 auto posInfInterval = PosInfInterval!Date(Date(2010, 9, 19));
5278 static void testInterval(PosInfInterval!Date posInfInterval)
5280 posInfInterval.fwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri)).popFront();
5285 …assert(PosInfInterval!Date(Date(2010, 9, 12)).fwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).front ==
5286 Date(2010, 9, 12));
5288 …assert(PosInfInterval!Date(Date(2010, 9, 12)).fwdRange(everyDayOfWeek!Date(DayOfWeek.fri), PopFirs…
5289 Date(2010, 9, 17));
5292 auto interval = PosInfInterval!Date(Date(2010, 9, 1));
5293 auto func = delegate (in Date date) in delegate()
5301 …assert(range.front == Date(2010, 9, 1)); //An odd day. Using PopFirst.yes would have made this Dat…
5304 assert(range.front == Date(2010, 9, 2));
5307 assert(range.front == Date(2010, 9, 4));
5310 assert(range.front == Date(2010, 9, 6));
5313 assert(range.front == Date(2010, 9, 8));
5318 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5319 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5320 assert(!cPosInfInterval.fwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).empty);
5321 assert(!iPosInfInterval.fwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).empty);
5328 assert(PosInfInterval!Date(Date(2010, 7, 4)).toString() == "[2010-Jul-04 - ∞)");
5330 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5331 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5356 auto interval = PosInfInterval!Date(Date(1996, 1, 2)); in NegInfInterval()
5392 assert(NegInfInterval!Date(Date(2012, 3, 1)).end == Date(2012, 3, 1)); in NegInfInterval()
6382 NegInfInterval!Date(Date.init);
6393 assert(NegInfInterval!Date(Date(2010, 1, 1)).end == Date(2010, 1, 1));
6394 assert(NegInfInterval!Date(Date(2010, 1, 1)).end == Date(2010, 1, 1));
6395 assert(NegInfInterval!Date(Date(1998, 1, 1)).end == Date(1998, 1, 1));
6397 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6398 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6399 assert(cNegInfInterval.end != Date.init);
6400 assert(iNegInfInterval.end != Date.init);
6403 assert(NegInfInterval!Date(Date(2012, 3, 1)).end == Date(2012, 3, 1));
6412 assert(!NegInfInterval!Date(Date(2010, 1, 1)).empty);
6417 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6418 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6423 assert(!NegInfInterval!Date(Date(1996, 1, 2)).empty);
6431 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6433 assert(negInfInterval.contains(Date(2009, 7, 4)));
6434 assert(negInfInterval.contains(Date(2010, 7, 3)));
6435 assert(negInfInterval.contains(Date(2010, 7, 4)));
6436 assert(negInfInterval.contains(Date(2010, 7, 5)));
6437 assert(negInfInterval.contains(Date(2011, 7, 1)));
6438 assert(negInfInterval.contains(Date(2012, 1, 6)));
6439 assert(!negInfInterval.contains(Date(2012, 1, 7)));
6440 assert(!negInfInterval.contains(Date(2012, 1, 8)));
6441 assert(!negInfInterval.contains(Date(2013, 1, 7)));
6443 const cdate = Date(2010, 7, 6);
6444 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6445 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6451 assert(NegInfInterval!Date(Date(2012, 3, 1)).contains(Date(1994, 12, 24)));
6452 assert(NegInfInterval!Date(Date(2012, 3, 1)).contains(Date(2000, 1, 5)));
6453 assert(!NegInfInterval!Date(Date(2012, 3, 1)).contains(Date(2012, 3, 1)));
6461 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6463 static void testInterval(in NegInfInterval!Date negInfInterval, in Interval!Date interval)
6468 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
6471 assert(negInfInterval.contains(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
6472 assert(!negInfInterval.contains(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
6473 assert(negInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
6474 assert(negInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
6475 assert(negInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
6476 assert(!negInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
6477 assert(negInfInterval.contains(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
6478 assert(negInfInterval.contains(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
6479 assert(negInfInterval.contains(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
6480 assert(!negInfInterval.contains(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
6481 assert(!negInfInterval.contains(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
6482 assert(!negInfInterval.contains(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
6484 assert(negInfInterval.contains(NegInfInterval!Date(Date(2010, 7, 3))));
6485 assert(negInfInterval.contains(NegInfInterval!Date(Date(2010, 7, 4))));
6486 assert(negInfInterval.contains(NegInfInterval!Date(Date(2010, 7, 5))));
6487 assert(negInfInterval.contains(NegInfInterval!Date(Date(2012, 1, 6))));
6488 assert(negInfInterval.contains(NegInfInterval!Date(Date(2012, 1, 7))));
6489 assert(!negInfInterval.contains(NegInfInterval!Date(Date(2012, 1, 8))));
6491 assert(!NegInfInterval!Date(Date(2010, 7, 3)).contains(negInfInterval));
6492 assert(!NegInfInterval!Date(Date(2010, 7, 4)).contains(negInfInterval));
6493 assert(!NegInfInterval!Date(Date(2010, 7, 5)).contains(negInfInterval));
6494 assert(!NegInfInterval!Date(Date(2012, 1, 6)).contains(negInfInterval));
6495 assert(NegInfInterval!Date(Date(2012, 1, 7)).contains(negInfInterval));
6496 assert(NegInfInterval!Date(Date(2012, 1, 8)).contains(negInfInterval));
6498 assert(!negInfInterval.contains(PosInfInterval!Date(Date(2010, 7, 3))));
6499 assert(!negInfInterval.contains(PosInfInterval!Date(Date(2010, 7, 4))));
6500 assert(!negInfInterval.contains(PosInfInterval!Date(Date(2010, 7, 5))));
6501 assert(!negInfInterval.contains(PosInfInterval!Date(Date(2012, 1, 6))));
6502 assert(!negInfInterval.contains(PosInfInterval!Date(Date(2012, 1, 7))));
6503 assert(!negInfInterval.contains(PosInfInterval!Date(Date(2012, 1, 8))));
6505 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6506 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6507 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6508 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6509 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6510 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6511 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6512 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6542 …assert(NegInfInterval!Date(Date(2012, 3, 1)).contains(Interval!Date(Date(1990, 7, 6), Date(2000, 8…
6543 …assert(NegInfInterval!Date(Date(2012, 3, 1)).contains(Interval!Date(Date(1999, 1, 12), Date(2011, …
6544 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).contains(Interval!Date(Date(1998, 2, 28), Date(2013,…
6546 assert(!NegInfInterval!Date(Date(2012, 3, 1)).contains(PosInfInterval!Date(Date(1999, 5, 4))));
6548 assert(NegInfInterval!Date(Date(2012, 3, 1)).contains(NegInfInterval!Date(Date(1996, 5, 4))));
6549 assert(!NegInfInterval!Date(Date(2012, 3, 1)).contains(NegInfInterval!Date(Date(2013, 7, 9))));
6557 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6559 assert(!negInfInterval.isBefore(Date(2009, 7, 4)));
6560 assert(!negInfInterval.isBefore(Date(2010, 7, 3)));
6561 assert(!negInfInterval.isBefore(Date(2010, 7, 4)));
6562 assert(!negInfInterval.isBefore(Date(2010, 7, 5)));
6563 assert(!negInfInterval.isBefore(Date(2011, 7, 1)));
6564 assert(!negInfInterval.isBefore(Date(2012, 1, 6)));
6565 assert(negInfInterval.isBefore(Date(2012, 1, 7)));
6566 assert(negInfInterval.isBefore(Date(2012, 1, 8)));
6567 assert(negInfInterval.isBefore(Date(2013, 1, 7)));
6569 const cdate = Date(2010, 7, 6);
6570 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6571 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6577 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isBefore(Date(1994, 12, 24)));
6578 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isBefore(Date(2000, 1, 5)));
6579 assert(NegInfInterval!Date(Date(2012, 3, 1)).isBefore(Date(2012, 3, 1)));
6587 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6589 static void testInterval(in NegInfInterval!Date negInfInterval, in Interval!Date interval)
6594 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
6597 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
6598 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
6599 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
6600 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
6601 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
6602 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
6603 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
6604 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
6605 assert(!negInfInterval.isBefore(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
6606 assert(!negInfInterval.isBefore(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
6607 assert(negInfInterval.isBefore(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
6608 assert(negInfInterval.isBefore(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
6610 assert(!negInfInterval.isBefore(NegInfInterval!Date(Date(2010, 7, 3))));
6611 assert(!negInfInterval.isBefore(NegInfInterval!Date(Date(2010, 7, 4))));
6612 assert(!negInfInterval.isBefore(NegInfInterval!Date(Date(2010, 7, 5))));
6613 assert(!negInfInterval.isBefore(NegInfInterval!Date(Date(2012, 1, 6))));
6614 assert(!negInfInterval.isBefore(NegInfInterval!Date(Date(2012, 1, 7))));
6615 assert(!negInfInterval.isBefore(NegInfInterval!Date(Date(2012, 1, 8))));
6617 assert(!NegInfInterval!Date(Date(2010, 7, 3)).isBefore(negInfInterval));
6618 assert(!NegInfInterval!Date(Date(2010, 7, 4)).isBefore(negInfInterval));
6619 assert(!NegInfInterval!Date(Date(2010, 7, 5)).isBefore(negInfInterval));
6620 assert(!NegInfInterval!Date(Date(2012, 1, 6)).isBefore(negInfInterval));
6621 assert(!NegInfInterval!Date(Date(2012, 1, 7)).isBefore(negInfInterval));
6622 assert(!NegInfInterval!Date(Date(2012, 1, 8)).isBefore(negInfInterval));
6624 assert(!negInfInterval.isBefore(PosInfInterval!Date(Date(2010, 7, 3))));
6625 assert(!negInfInterval.isBefore(PosInfInterval!Date(Date(2010, 7, 4))));
6626 assert(!negInfInterval.isBefore(PosInfInterval!Date(Date(2010, 7, 5))));
6627 assert(!negInfInterval.isBefore(PosInfInterval!Date(Date(2012, 1, 6))));
6628 assert(negInfInterval.isBefore(PosInfInterval!Date(Date(2012, 1, 7))));
6629 assert(negInfInterval.isBefore(PosInfInterval!Date(Date(2012, 1, 8))));
6631 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6632 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6633 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6634 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6635 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6636 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6637 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6638 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6668 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isBefore(Interval!Date(Date(1990, 7, 6), Date(2000, …
6669 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isBefore(Interval!Date(Date(1999, 1, 12), Date(2011,…
6670 …assert(NegInfInterval!Date(Date(2012, 3, 1)).isBefore(Interval!Date(Date(2022, 10, 19), Date(2027,…
6672 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isBefore(PosInfInterval!Date(Date(1999, 5, 4))));
6673 assert(NegInfInterval!Date(Date(2012, 3, 1)).isBefore(PosInfInterval!Date(Date(2012, 3, 1))));
6675 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isBefore(NegInfInterval!Date(Date(1996, 5, 4))));
6676 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isBefore(NegInfInterval!Date(Date(2013, 7, 9))));
6684 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6686 assert(!negInfInterval.isAfter(Date(2009, 7, 4)));
6687 assert(!negInfInterval.isAfter(Date(2010, 7, 3)));
6688 assert(!negInfInterval.isAfter(Date(2010, 7, 4)));
6689 assert(!negInfInterval.isAfter(Date(2010, 7, 5)));
6690 assert(!negInfInterval.isAfter(Date(2011, 7, 1)));
6691 assert(!negInfInterval.isAfter(Date(2012, 1, 6)));
6692 assert(!negInfInterval.isAfter(Date(2012, 1, 7)));
6693 assert(!negInfInterval.isAfter(Date(2012, 1, 8)));
6694 assert(!negInfInterval.isAfter(Date(2013, 1, 7)));
6696 const cdate = Date(2010, 7, 6);
6697 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6698 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6709 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6711 static void testInterval(in NegInfInterval!Date negInfInterval, in Interval!Date interval)
6716 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
6719 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
6720 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
6721 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
6722 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
6723 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
6724 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
6725 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
6726 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
6727 assert(!negInfInterval.isAfter(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
6728 assert(!negInfInterval.isAfter(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
6729 assert(!negInfInterval.isAfter(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
6730 assert(!negInfInterval.isAfter(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
6732 assert(!negInfInterval.isAfter(NegInfInterval!Date(Date(2010, 7, 3))));
6733 assert(!negInfInterval.isAfter(NegInfInterval!Date(Date(2010, 7, 4))));
6734 assert(!negInfInterval.isAfter(NegInfInterval!Date(Date(2010, 7, 5))));
6735 assert(!negInfInterval.isAfter(NegInfInterval!Date(Date(2012, 1, 6))));
6736 assert(!negInfInterval.isAfter(NegInfInterval!Date(Date(2012, 1, 7))));
6737 assert(!negInfInterval.isAfter(NegInfInterval!Date(Date(2012, 1, 8))));
6739 assert(!NegInfInterval!Date(Date(2010, 7, 3)).isAfter(negInfInterval));
6740 assert(!NegInfInterval!Date(Date(2010, 7, 4)).isAfter(negInfInterval));
6741 assert(!NegInfInterval!Date(Date(2010, 7, 5)).isAfter(negInfInterval));
6742 assert(!NegInfInterval!Date(Date(2012, 1, 6)).isAfter(negInfInterval));
6743 assert(!NegInfInterval!Date(Date(2012, 1, 7)).isAfter(negInfInterval));
6744 assert(!NegInfInterval!Date(Date(2012, 1, 8)).isAfter(negInfInterval));
6746 assert(!negInfInterval.isAfter(PosInfInterval!Date(Date(2010, 7, 3))));
6747 assert(!negInfInterval.isAfter(PosInfInterval!Date(Date(2010, 7, 4))));
6748 assert(!negInfInterval.isAfter(PosInfInterval!Date(Date(2010, 7, 5))));
6749 assert(!negInfInterval.isAfter(PosInfInterval!Date(Date(2012, 1, 6))));
6750 assert(!negInfInterval.isAfter(PosInfInterval!Date(Date(2012, 1, 7))));
6751 assert(!negInfInterval.isAfter(PosInfInterval!Date(Date(2012, 1, 8))));
6753 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6754 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6755 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6756 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6757 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6758 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6759 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6760 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6790 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(Date(1994, 12, 24)));
6791 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(Date(2000, 1, 5)));
6792 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(Date(2012, 3, 1)));
6794 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(Interval!Date(Date(1990, 7, 6), Date(2000, 8…
6795 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(Interval!Date(Date(1999, 1, 12), Date(2011, …
6796 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(Interval!Date(Date(2022, 10, 19), Date(2027,…
6798 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(PosInfInterval!Date(Date(1999, 5, 4))));
6799 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(PosInfInterval!Date(Date(2012, 3, 1))));
6801 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(NegInfInterval!Date(Date(1996, 5, 4))));
6802 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(NegInfInterval!Date(Date(2013, 7, 9))));
6810 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6812 static void testInterval(in NegInfInterval!Date negInfInterval, in Interval!Date interval)
6817 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
6820 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
6821 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
6822 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
6823 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
6824 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
6825 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
6826 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
6827 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
6828 assert(negInfInterval.intersects(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
6829 assert(negInfInterval.intersects(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
6830 assert(!negInfInterval.intersects(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
6831 assert(!negInfInterval.intersects(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
6833 assert(negInfInterval.intersects(NegInfInterval!Date(Date(2010, 7, 3))));
6834 assert(negInfInterval.intersects(NegInfInterval!Date(Date(2010, 7, 4))));
6835 assert(negInfInterval.intersects(NegInfInterval!Date(Date(2010, 7, 5))));
6836 assert(negInfInterval.intersects(NegInfInterval!Date(Date(2012, 1, 6))));
6837 assert(negInfInterval.intersects(NegInfInterval!Date(Date(2012, 1, 7))));
6838 assert(negInfInterval.intersects(NegInfInterval!Date(Date(2012, 1, 8))));
6840 assert(NegInfInterval!Date(Date(2010, 7, 3)).intersects(negInfInterval));
6841 assert(NegInfInterval!Date(Date(2010, 7, 4)).intersects(negInfInterval));
6842 assert(NegInfInterval!Date(Date(2010, 7, 5)).intersects(negInfInterval));
6843 assert(NegInfInterval!Date(Date(2012, 1, 6)).intersects(negInfInterval));
6844 assert(NegInfInterval!Date(Date(2012, 1, 7)).intersects(negInfInterval));
6845 assert(NegInfInterval!Date(Date(2012, 1, 8)).intersects(negInfInterval));
6847 assert(negInfInterval.intersects(PosInfInterval!Date(Date(2010, 7, 3))));
6848 assert(negInfInterval.intersects(PosInfInterval!Date(Date(2010, 7, 4))));
6849 assert(negInfInterval.intersects(PosInfInterval!Date(Date(2010, 7, 5))));
6850 assert(negInfInterval.intersects(PosInfInterval!Date(Date(2012, 1, 6))));
6851 assert(!negInfInterval.intersects(PosInfInterval!Date(Date(2012, 1, 7))));
6852 assert(!negInfInterval.intersects(PosInfInterval!Date(Date(2012, 1, 8))));
6854 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6855 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6856 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6857 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6858 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6859 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6860 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6861 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6891 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersects(Interval!Date(Date(1990, 7, 6), Date(2000,…
6892 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersects(Interval!Date(Date(1999, 1, 12), Date(2011…
6893 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).intersects(Interval!Date(Date(2022, 10, 19), Date(20…
6895 assert(NegInfInterval!Date(Date(2012, 3, 1)).intersects(PosInfInterval!Date(Date(1999, 5, 4))));
6896 … assert(!NegInfInterval!Date(Date(2012, 3, 1)).intersects(PosInfInterval!Date(Date(2012, 3, 1))));
6898 assert(NegInfInterval!Date(Date(2012, 3, 1)).intersects(NegInfInterval!Date(Date(1996, 5, 4))));
6899 assert(NegInfInterval!Date(Date(2012, 3, 1)).intersects(NegInfInterval!Date(Date(2013, 7, 9))));
6907 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6914 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
6916 …Thrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2012, 1, 7), Date(2012, 1…
6917 …Thrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2012, 1, 8), Date(2012, 1…
6919 …assertThrown!DateTimeException(testInterval(negInfInterval, PosInfInterval!Date(Date(2012, 1, 7)))…
6920 …assertThrown!DateTimeException(testInterval(negInfInterval, PosInfInterval!Date(Date(2012, 1, 8)))…
6923 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))) ==
6924 Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)));
6925 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
6926 Interval!Date(Date(2010, 7, 1), Date(2012, 1, 7)));
6927 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))) ==
6928 Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)));
6929 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
6930 Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)));
6931 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
6932 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
6933 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
6934 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
6935 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
6936 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)));
6937 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
6938 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)));
6939 assert(negInfInterval.intersection(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
6940 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
6941 assert(negInfInterval.intersection(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
6942 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
6944 …assert(negInfInterval.intersection(NegInfInterval!Date(Date(2010, 7, 3))) == NegInfInterval!Date(D…
6945 …assert(negInfInterval.intersection(NegInfInterval!Date(Date(2010, 7, 4))) == NegInfInterval!Date(D…
6946 …assert(negInfInterval.intersection(NegInfInterval!Date(Date(2010, 7, 5))) == NegInfInterval!Date(D…
6947 …assert(negInfInterval.intersection(NegInfInterval!Date(Date(2012, 1, 6))) == NegInfInterval!Date(D…
6948 …assert(negInfInterval.intersection(NegInfInterval!Date(Date(2012, 1, 7))) == NegInfInterval!Date(D…
6949 …assert(negInfInterval.intersection(NegInfInterval!Date(Date(2012, 1, 8))) == NegInfInterval!Date(D…
6951 …assert(NegInfInterval!Date(Date(2010, 7, 3)).intersection(negInfInterval) == NegInfInterval!Date(D…
6952 …assert(NegInfInterval!Date(Date(2010, 7, 4)).intersection(negInfInterval) == NegInfInterval!Date(D…
6953 …assert(NegInfInterval!Date(Date(2010, 7, 5)).intersection(negInfInterval) == NegInfInterval!Date(D…
6954 …assert(NegInfInterval!Date(Date(2012, 1, 6)).intersection(negInfInterval) == NegInfInterval!Date(D…
6955 …assert(NegInfInterval!Date(Date(2012, 1, 7)).intersection(negInfInterval) == NegInfInterval!Date(D…
6956 …assert(NegInfInterval!Date(Date(2012, 1, 8)).intersection(negInfInterval) == NegInfInterval!Date(D…
6958 assert(negInfInterval.intersection(PosInfInterval!Date(Date(2010, 7, 3))) ==
6959 Interval!Date(Date(2010, 7, 3), Date(2012, 1 ,7)));
6960 assert(negInfInterval.intersection(PosInfInterval!Date(Date(2010, 7, 4))) ==
6961 Interval!Date(Date(2010, 7, 4), Date(2012, 1 ,7)));
6962 assert(negInfInterval.intersection(PosInfInterval!Date(Date(2010, 7, 5))) ==
6963 Interval!Date(Date(2010, 7, 5), Date(2012, 1 ,7)));
6964 assert(negInfInterval.intersection(PosInfInterval!Date(Date(2012, 1, 6))) ==
6965 Interval!Date(Date(2012, 1, 6), Date(2012, 1 ,7)));
6967 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6968 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6969 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6970 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6971 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6972 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6973 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6974 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7004 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersection(Interval!Date(Date(1990, 7, 6), Date(200…
7005 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2)));
7006 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersection(Interval!Date(Date(1999, 1, 12), Date(20…
7007 Interval!Date(Date(1999, 1, 12), Date(2012, 3, 1)));
7009 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersection(PosInfInterval!Date(Date(1990, 7, 6))) ==
7010 Interval!Date(Date(1990, 7, 6), Date(2012, 3, 1)));
7011 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersection(PosInfInterval!Date(Date(1999, 1, 12))) …
7012 Interval!Date(Date(1999, 1, 12), Date(2012, 3, 1)));
7014 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersection(NegInfInterval!Date(Date(1999, 7, 6))) ==
7015 NegInfInterval!Date(Date(1999, 7, 6)));
7016 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersection(NegInfInterval!Date(Date(2013, 1, 12))) …
7017 NegInfInterval!Date(Date(2012, 3, 1)));
7025 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7027 static void testInterval(in NegInfInterval!Date negInfInterval, in Interval!Date interval)
7032 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
7035 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
7036 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
7037 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
7038 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
7039 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
7040 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
7041 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
7042 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
7043 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
7044 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
7045 assert(negInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
7046 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
7048 assert(!negInfInterval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 3))));
7049 assert(!negInfInterval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 4))));
7050 assert(!negInfInterval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 5))));
7051 assert(!negInfInterval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 6))));
7052 assert(!negInfInterval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 7))));
7053 assert(!negInfInterval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 8))));
7055 assert(!NegInfInterval!Date(Date(2010, 7, 3)).isAdjacent(negInfInterval));
7056 assert(!NegInfInterval!Date(Date(2010, 7, 4)).isAdjacent(negInfInterval));
7057 assert(!NegInfInterval!Date(Date(2010, 7, 5)).isAdjacent(negInfInterval));
7058 assert(!NegInfInterval!Date(Date(2012, 1, 6)).isAdjacent(negInfInterval));
7059 assert(!NegInfInterval!Date(Date(2012, 1, 7)).isAdjacent(negInfInterval));
7060 assert(!NegInfInterval!Date(Date(2012, 1, 8)).isAdjacent(negInfInterval));
7062 assert(!negInfInterval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 3))));
7063 assert(!negInfInterval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 4))));
7064 assert(!negInfInterval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 5))));
7065 assert(!negInfInterval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 6))));
7066 assert(negInfInterval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 7))));
7067 assert(!negInfInterval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 8))));
7069 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7070 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7071 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7072 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7073 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7074 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7075 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7076 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7106 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(Interval!Date(Date(1990, 7, 6), Date(2000…
7107 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(Interval!Date(Date(1999, 1, 12), Date(201…
7108 …assert(NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(Interval!Date(Date(2012, 3, 1), Date(2019,…
7109 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(Interval!Date(Date(2022, 10, 19), Date(20…
7111 … assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(PosInfInterval!Date(Date(1999, 5, 4))));
7112 assert(NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(PosInfInterval!Date(Date(2012, 3, 1))));
7114 … assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(NegInfInterval!Date(Date(1996, 5, 4))));
7115 … assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(NegInfInterval!Date(Date(2012, 3, 1))));
7123 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7130 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
7132 …Thrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2012, 1, 8), Date(2012, 1…
7135 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))) ==
7136 NegInfInterval!Date(Date(2012, 1, 7)));
7137 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
7138 NegInfInterval!Date(Date(2013, 7, 3)));
7139 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))) ==
7140 NegInfInterval!Date(Date(2012, 1, 7)));
7141 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
7142 NegInfInterval!Date(Date(2012, 1, 7)));
7143 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
7144 NegInfInterval!Date(Date(2012, 1, 7)));
7145 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
7146 NegInfInterval!Date(Date(2012, 1, 8)));
7147 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
7148 NegInfInterval!Date(Date(2012, 1, 7)));
7149 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
7150 NegInfInterval!Date(Date(2012, 1, 7)));
7151 assert(negInfInterval.merge(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
7152 NegInfInterval!Date(Date(2012, 1, 7)));
7153 assert(negInfInterval.merge(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
7154 NegInfInterval!Date(Date(2012, 1, 8)));
7155 assert(negInfInterval.merge(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))) ==
7156 NegInfInterval!Date(Date(2012, 1, 8)));
7158 …assert(negInfInterval.merge(NegInfInterval!Date(Date(2010, 7, 3))) == NegInfInterval!Date(Date(201…
7159 …assert(negInfInterval.merge(NegInfInterval!Date(Date(2010, 7, 4))) == NegInfInterval!Date(Date(201…
7160 …assert(negInfInterval.merge(NegInfInterval!Date(Date(2010, 7, 5))) == NegInfInterval!Date(Date(201…
7161 …assert(negInfInterval.merge(NegInfInterval!Date(Date(2012, 1, 6))) == NegInfInterval!Date(Date(201…
7162 …assert(negInfInterval.merge(NegInfInterval!Date(Date(2012, 1, 7))) == NegInfInterval!Date(Date(201…
7163 …assert(negInfInterval.merge(NegInfInterval!Date(Date(2012, 1, 8))) == NegInfInterval!Date(Date(201…
7165 …assert(NegInfInterval!Date(Date(2010, 7, 3)).merge(negInfInterval) == NegInfInterval!Date(Date(201…
7166 …assert(NegInfInterval!Date(Date(2010, 7, 4)).merge(negInfInterval) == NegInfInterval!Date(Date(201…
7167 …assert(NegInfInterval!Date(Date(2010, 7, 5)).merge(negInfInterval) == NegInfInterval!Date(Date(201…
7168 …assert(NegInfInterval!Date(Date(2012, 1, 6)).merge(negInfInterval) == NegInfInterval!Date(Date(201…
7169 …assert(NegInfInterval!Date(Date(2012, 1, 7)).merge(negInfInterval) == NegInfInterval!Date(Date(201…
7170 …assert(NegInfInterval!Date(Date(2012, 1, 8)).merge(negInfInterval) == NegInfInterval!Date(Date(201…
7172 static assert(!__traits(compiles, negInfInterval.merge(PosInfInterval!Date(Date(2010, 7, 3)))));
7173 static assert(!__traits(compiles, negInfInterval.merge(PosInfInterval!Date(Date(2010, 7, 4)))));
7174 static assert(!__traits(compiles, negInfInterval.merge(PosInfInterval!Date(Date(2010, 7, 5)))));
7175 static assert(!__traits(compiles, negInfInterval.merge(PosInfInterval!Date(Date(2012, 1, 6)))));
7176 static assert(!__traits(compiles, negInfInterval.merge(PosInfInterval!Date(Date(2012, 1, 7)))));
7177 static assert(!__traits(compiles, negInfInterval.merge(PosInfInterval!Date(Date(2012, 1, 8)))));
7179 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7180 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7181 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7182 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7183 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7184 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7185 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7186 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7216 …assert(NegInfInterval!Date(Date(2012, 3, 1)).merge(Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2…
7217 NegInfInterval!Date(Date(2012, 3, 1)));
7218 …assert(NegInfInterval!Date(Date(2012, 3, 1)).merge(Interval!Date(Date(1999, 1, 12), Date(2015, 9, …
7219 NegInfInterval!Date(Date(2015, 9, 2)));
7221 assert(NegInfInterval!Date(Date(2012, 3, 1)).merge(NegInfInterval!Date(Date(1999, 7, 6))) ==
7222 NegInfInterval!Date(Date(2012, 3, 1)));
7223 assert(NegInfInterval!Date(Date(2012, 3, 1)).merge(NegInfInterval!Date(Date(2013, 1, 12))) ==
7224 NegInfInterval!Date(Date(2013, 1, 12)));
7232 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7239 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
7242 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))) ==
7243 NegInfInterval!Date(Date(2012, 1, 7)));
7244 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
7245 NegInfInterval!Date(Date(2013, 7, 3)));
7246 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))) ==
7247 NegInfInterval!Date(Date(2012, 1, 7)));
7248 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
7249 NegInfInterval!Date(Date(2012, 1, 7)));
7250 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
7251 NegInfInterval!Date(Date(2012, 1, 7)));
7252 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
7253 NegInfInterval!Date(Date(2012, 1, 8)));
7254 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
7255 NegInfInterval!Date(Date(2012, 1, 7)));
7256 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
7257 NegInfInterval!Date(Date(2012, 1, 7)));
7258 assert(negInfInterval.span(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
7259 NegInfInterval!Date(Date(2012, 1, 7)));
7260 assert(negInfInterval.span(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
7261 NegInfInterval!Date(Date(2012, 1, 8)));
7262 assert(negInfInterval.span(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))) ==
7263 NegInfInterval!Date(Date(2012, 1, 8)));
7264 assert(negInfInterval.span(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))) ==
7265 NegInfInterval!Date(Date(2012, 1, 9)));
7267 …assert(negInfInterval.span(NegInfInterval!Date(Date(2010, 7, 3))) == NegInfInterval!Date(Date(2012…
7268 …assert(negInfInterval.span(NegInfInterval!Date(Date(2010, 7, 4))) == NegInfInterval!Date(Date(2012…
7269 …assert(negInfInterval.span(NegInfInterval!Date(Date(2010, 7, 5))) == NegInfInterval!Date(Date(2012…
7270 …assert(negInfInterval.span(NegInfInterval!Date(Date(2012, 1, 6))) == NegInfInterval!Date(Date(2012…
7271 …assert(negInfInterval.span(NegInfInterval!Date(Date(2012, 1, 7))) == NegInfInterval!Date(Date(2012…
7272 …assert(negInfInterval.span(NegInfInterval!Date(Date(2012, 1, 8))) == NegInfInterval!Date(Date(2012…
7274 …assert(NegInfInterval!Date(Date(2010, 7, 3)).span(negInfInterval) == NegInfInterval!Date(Date(2012…
7275 …assert(NegInfInterval!Date(Date(2010, 7, 4)).span(negInfInterval) == NegInfInterval!Date(Date(2012…
7276 …assert(NegInfInterval!Date(Date(2010, 7, 5)).span(negInfInterval) == NegInfInterval!Date(Date(2012…
7277 …assert(NegInfInterval!Date(Date(2012, 1, 6)).span(negInfInterval) == NegInfInterval!Date(Date(2012…
7278 …assert(NegInfInterval!Date(Date(2012, 1, 7)).span(negInfInterval) == NegInfInterval!Date(Date(2012…
7279 …assert(NegInfInterval!Date(Date(2012, 1, 8)).span(negInfInterval) == NegInfInterval!Date(Date(2012…
7281 static assert(!__traits(compiles, negInfInterval.span(PosInfInterval!Date(Date(2010, 7, 3)))));
7282 static assert(!__traits(compiles, negInfInterval.span(PosInfInterval!Date(Date(2010, 7, 4)))));
7283 static assert(!__traits(compiles, negInfInterval.span(PosInfInterval!Date(Date(2010, 7, 5)))));
7284 static assert(!__traits(compiles, negInfInterval.span(PosInfInterval!Date(Date(2012, 1, 6)))));
7285 static assert(!__traits(compiles, negInfInterval.span(PosInfInterval!Date(Date(2012, 1, 7)))));
7286 static assert(!__traits(compiles, negInfInterval.span(PosInfInterval!Date(Date(2012, 1, 8)))));
7288 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7289 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7290 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7291 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7292 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7293 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7294 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7295 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7325 …assert(NegInfInterval!Date(Date(2012, 3, 1)).span(Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2)…
7326 NegInfInterval!Date(Date(2012, 3, 1)));
7327 …assert(NegInfInterval!Date(Date(2012, 3, 1)).span(Interval!Date(Date(1999, 1, 12), Date(2015, 9, 2…
7328 NegInfInterval!Date(Date(2015, 9, 2)));
7329 …assert(NegInfInterval!Date(Date(1600, 1, 7)).span(Interval!Date(Date(2012, 3, 11), Date(2017, 7, 1…
7330 NegInfInterval!Date(Date(2017, 7, 1)));
7332 assert(NegInfInterval!Date(Date(2012, 3, 1)).span(NegInfInterval!Date(Date(1999, 7, 6))) ==
7333 NegInfInterval!Date(Date(2012, 3, 1)));
7334 assert(NegInfInterval!Date(Date(2012, 3, 1)).span(NegInfInterval!Date(Date(2013, 1, 12))) ==
7335 NegInfInterval!Date(Date(2013, 1, 12)));
7343 auto interval = NegInfInterval!Date(Date(2012, 1, 7));
7351 testInterval(interval, dur!"days"(22), NegInfInterval!Date(Date(2012, 1, 29)));
7352 testInterval(interval, dur!"days"(-22), NegInfInterval!Date(Date(2011, 12, 16)));
7354 const cInterval = NegInfInterval!Date(Date(2012, 1, 7));
7355 immutable iInterval = NegInfInterval!Date(Date(2012, 1, 7));
7360 auto interval1 = NegInfInterval!Date(Date(2012, 4, 5));
7361 auto interval2 = NegInfInterval!Date(Date(2012, 4, 5));
7364 assert(interval1 == NegInfInterval!Date(Date(2012, 5, 25)));
7367 assert(interval2 == NegInfInterval!Date( Date(2012, 2, 15)));
7376 auto interval = NegInfInterval!Date(Date(2012, 1, 7));
7390 testInterval(interval, 5, 0, AllowDayOverflow.yes, NegInfInterval!Date(Date(2017, 1, 7)));
7391 testInterval(interval, -5, 0, AllowDayOverflow.yes, NegInfInterval!Date(Date(2007, 1, 7)));
7393 auto interval2 = NegInfInterval!Date(Date(2010, 5, 31));
7395 testInterval(interval2, 1, 1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2011, 7, 1)));
7396 testInterval(interval2, 1, -1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2011, 5, 1)));
7397 … testInterval(interval2, -1, -1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2009, 5, 1)));
7398 testInterval(interval2, -1, 1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2009, 7, 1)));
7400 testInterval(interval2, 1, 1, AllowDayOverflow.no, NegInfInterval!Date(Date(2011, 6, 30)));
7401 testInterval(interval2, 1, -1, AllowDayOverflow.no, NegInfInterval!Date(Date(2011, 4, 30)));
7402 … testInterval(interval2, -1, -1, AllowDayOverflow.no, NegInfInterval!Date(Date(2009, 4, 30)));
7403 testInterval(interval2, -1, 1, AllowDayOverflow.no, NegInfInterval!Date(Date(2009, 6, 30)));
7406 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7407 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7412 auto interval1 = NegInfInterval!Date(Date(2012, 3, 1));
7413 auto interval2 = NegInfInterval!Date(Date(2012, 3, 1));
7416 assert(interval1 == NegInfInterval!Date(Date(2014, 3, 1)));
7419 assert(interval2 == NegInfInterval!Date(Date(2010, 3, 1)));
7427 auto interval = NegInfInterval!Date(Date(2012, 1, 7));
7435 testInterval(interval, dur!"days"(22), NegInfInterval!Date(Date(2012, 1, 29)));
7436 testInterval(interval, dur!"days"(-22), NegInfInterval!Date(Date(2011, 12, 16)));
7438 const cInterval = NegInfInterval!Date(Date(2012, 1, 7));
7439 immutable iInterval = NegInfInterval!Date(Date(2012, 1, 7));
7444 auto interval1 = NegInfInterval!Date(Date(2012, 3, 1));
7445 auto interval2 = NegInfInterval!Date(Date(2012, 3, 1));
7448 assert(interval1 == NegInfInterval!Date(Date(2012, 3, 3)));
7451 assert(interval2 == NegInfInterval!Date(Date(2012, 2, 28)));
7460 auto interval = NegInfInterval!Date(Date(2012, 1, 7));
7469 testInterval(interval, 5, 0, AllowDayOverflow.yes, NegInfInterval!Date(Date(2017, 1, 7)));
7470 testInterval(interval, -5, 0, AllowDayOverflow.yes, NegInfInterval!Date(Date(2007, 1, 7)));
7472 auto interval2 = NegInfInterval!Date(Date(2010, 5, 31));
7474 testInterval(interval2, 1, 1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2011, 7, 1)));
7475 testInterval(interval2, 1, -1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2011, 5, 1)));
7476 … testInterval(interval2, -1, -1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2009, 5, 1)));
7477 testInterval(interval2, -1, 1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2009, 7, 1)));
7479 testInterval(interval2, 1, 1, AllowDayOverflow.no, NegInfInterval!Date(Date(2011, 6, 30)));
7480 testInterval(interval2, 1, -1, AllowDayOverflow.no, NegInfInterval!Date(Date(2011, 4, 30)));
7481 … testInterval(interval2, -1, -1, AllowDayOverflow.no, NegInfInterval!Date(Date(2009, 4, 30)));
7482 … testInterval(interval2, -1, 1, AllowDayOverflow.no, NegInfInterval!Date( Date(2009, 6, 30)));
7485 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7486 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7491 auto interval1 = NegInfInterval!Date(Date(2012, 3, 1));
7492 auto interval2 = NegInfInterval!Date(Date(2012, 3, 1));
7495 assert(interval1 == NegInfInterval!Date(Date(2014, 3, 1)));
7498 assert(interval2 == NegInfInterval!Date(Date(2010, 3, 1)));
7506 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7508 static void testInterval(NegInfInterval!Date negInfInterval)
7510 negInfInterval.bwdRange(everyDayOfWeek!(Date, Direction.fwd)(DayOfWeek.fri)).popFront();
7515 …assert(NegInfInterval!Date(Date(2010, 10, 1)).bwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfW…
7516 Date(2010, 10, 1));
7518 assert(NegInfInterval!Date(Date(2010, 10, 1)).bwdRange(
7519 … everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri), PopFirst.yes).front == Date(2010, 9, 24));
7522 auto interval = NegInfInterval!Date(Date(2010, 9, 9));
7523 auto func = delegate (in Date date) in delegate()
7532 assert(range.front == Date(2010, 9, 9));
7535 assert(range.front == Date(2010, 9, 8));
7538 assert(range.front == Date(2010, 9, 6));
7541 assert(range.front == Date(2010, 9, 4));
7544 assert(range.front == Date(2010, 9, 2));
7549 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7550 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7551 assert(!cNegInfInterval.bwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri)).empty);
7552 assert(!iNegInfInterval.bwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri)).empty);
7560 assert(NegInfInterval!Date(Date(2012, 1, 7)).toString() == "[-∞ - 2012-Jan-07)");
7562 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7563 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7612 import std.datetime.date : Date, DayOfWeek;
7614 auto interval = Interval!Date(Date(2010, 9, 2), Date(2010, 9, 27));
7615 auto func = everyDayOfWeek!Date(DayOfWeek.mon);
7619 assert(range.front == Date(2010, 9, 2));
7622 assert(range.front == Date(2010, 9, 6));
7625 assert(range.front == Date(2010, 9, 13));
7628 assert(range.front == Date(2010, 9, 20));
7639 auto funcFwd = everyDayOfWeek!Date(DayOfWeek.mon);
7640 auto funcBwd = everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.mon);
7642 assert(funcFwd(Date(2010, 8, 28)) == Date(2010, 8, 30));
7643 assert(funcFwd(Date(2010, 8, 29)) == Date(2010, 8, 30));
7644 assert(funcFwd(Date(2010, 8, 30)) == Date(2010, 9, 6));
7645 assert(funcFwd(Date(2010, 8, 31)) == Date(2010, 9, 6));
7646 assert(funcFwd(Date(2010, 9, 1)) == Date(2010, 9, 6));
7647 assert(funcFwd(Date(2010, 9, 2)) == Date(2010, 9, 6));
7648 assert(funcFwd(Date(2010, 9, 3)) == Date(2010, 9, 6));
7649 assert(funcFwd(Date(2010, 9, 4)) == Date(2010, 9, 6));
7650 assert(funcFwd(Date(2010, 9, 5)) == Date(2010, 9, 6));
7651 assert(funcFwd(Date(2010, 9, 6)) == Date(2010, 9, 13));
7652 assert(funcFwd(Date(2010, 9, 7)) == Date(2010, 9, 13));
7654 assert(funcBwd(Date(2010, 8, 28)) == Date(2010, 8, 23));
7655 assert(funcBwd(Date(2010, 8, 29)) == Date(2010, 8, 23));
7656 assert(funcBwd(Date(2010, 8, 30)) == Date(2010, 8, 23));
7657 assert(funcBwd(Date(2010, 8, 31)) == Date(2010, 8, 30));
7658 assert(funcBwd(Date(2010, 9, 1)) == Date(2010, 8, 30));
7659 assert(funcBwd(Date(2010, 9, 2)) == Date(2010, 8, 30));
7660 assert(funcBwd(Date(2010, 9, 3)) == Date(2010, 8, 30));
7661 assert(funcBwd(Date(2010, 9, 4)) == Date(2010, 8, 30));
7662 assert(funcBwd(Date(2010, 9, 5)) == Date(2010, 8, 30));
7663 assert(funcBwd(Date(2010, 9, 6)) == Date(2010, 8, 30));
7664 assert(funcBwd(Date(2010, 9, 7)) == Date(2010, 9, 6));
7971 import std.datetime.date : AllowDayOverflow, Date;
7973 auto interval = Interval!Date(Date(2010, 9, 2), Date(2025, 9, 27));
7974 auto func = everyDuration!Date(4, 1, AllowDayOverflow.yes, dur!"days"(2));
7978 assert(range.front == Date(2010, 9, 2));
7981 assert(range.front == Date(2014, 10, 4));
7984 assert(range.front == Date(2018, 11, 6));
7987 assert(range.front == Date(2022, 12, 8));
7999 auto funcFwd = everyDuration!Date(1, 2, AllowDayOverflow.yes, dur!"days"(3));
8000 … auto funcBwd = everyDuration!(Date, Direction.bwd)(1, 2, AllowDayOverflow.yes, dur!"days"(3));
8002 assert(funcFwd(Date(2009, 12, 25)) == Date(2011, 2, 28));
8003 assert(funcFwd(Date(2009, 12, 26)) == Date(2011, 3, 1));
8004 assert(funcFwd(Date(2009, 12, 27)) == Date(2011, 3, 2));
8005 assert(funcFwd(Date(2009, 12, 28)) == Date(2011, 3, 3));
8006 assert(funcFwd(Date(2009, 12, 29)) == Date(2011, 3, 4));
8008 assert(funcBwd(Date(2011, 2, 28)) == Date(2009, 12, 25));
8009 assert(funcBwd(Date(2011, 3, 1)) == Date(2009, 12, 26));
8010 assert(funcBwd(Date(2011, 3, 2)) == Date(2009, 12, 27));
8011 assert(funcBwd(Date(2011, 3, 3)) == Date(2009, 12, 28));
8012 assert(funcBwd(Date(2011, 3, 4)) == Date(2010, 1, 1));
8016 auto funcFwd = everyDuration!Date(1, 2, AllowDayOverflow.no, dur!"days"(3));
8017 … auto funcBwd = everyDuration!(Date, Direction.bwd)(1, 2, AllowDayOverflow.yes, dur!"days"(3));
8019 assert(funcFwd(Date(2009, 12, 25)) == Date(2011, 2, 28));
8020 assert(funcFwd(Date(2009, 12, 26)) == Date(2011, 3, 1));
8021 assert(funcFwd(Date(2009, 12, 27)) == Date(2011, 3, 2));
8022 assert(funcFwd(Date(2009, 12, 28)) == Date(2011, 3, 3));
8023 assert(funcFwd(Date(2009, 12, 29)) == Date(2011, 3, 3));
8025 assert(funcBwd(Date(2011, 2, 28)) == Date(2009, 12, 25));
8026 assert(funcBwd(Date(2011, 3, 1)) == Date(2009, 12, 26));
8027 assert(funcBwd(Date(2011, 3, 2)) == Date(2009, 12, 27));
8028 assert(funcBwd(Date(2011, 3, 3)) == Date(2009, 12, 28));
8029 assert(funcBwd(Date(2011, 3, 4)) == Date(2010, 1, 1));
8032 assert(everyDuration!Date(1, 2, AllowDayOverflow.yes, dur!"hnsecs"(1)) !is null);
8047 the interval $(D Interval!Date), pass a function to $(LREF Interval)'s
8051 over the $(REF Date,std,datetime,date)s in the interval.
8282 static assert(isInputRange!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8283 static assert(isForwardRange!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8288 static assert(!isBidirectionalRange!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8289 static assert(!isRandomAccessRange!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8290 static assert(!hasSwappableElements!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8291 static assert(!hasAssignableElements!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8292 static assert(!hasLength!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8293 static assert(!isInfinite!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8294 static assert(!hasSlicing!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8296 static assert(is(ElementType!(IntervalRange!(Date, Direction.fwd)) == Date)); in opAssign()
8309 Date dateFunc(in Date date) { return date; } in dateFunc()
8310 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8311 auto ir = IntervalRange!(Date, Direction.fwd)(interval, &dateFunc);
8341 …auto range = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 21)).fwdRange(everyDayOfWeek!Date(DayO…
8347 …const cRange = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).fwdRange(everyDayOfWeek!Date(DayO…
8356 auto range = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 21)).bwdRange(
8357 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri));
8363 const cRange = Interval!Date( Date(2010, 7, 4), Date(2012, 1, 7)).bwdRange(
8364 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri));
8379 auto emptyRange = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 20)).fwdRange(
8380 everyDayOfWeek!Date(DayOfWeek.wed), PopFirst.yes);
8381 …assertThrown!DateTimeException((in IntervalRange!(Date, Direction.fwd) range){range.front;}(emptyR…
8383 …auto range = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).fwdRange(everyDayOfWeek!Date(DayOfW…
8384 assert(range.front == Date(2010, 7, 4));
8386 auto poppedRange = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).fwdRange(
8387 everyDayOfWeek!Date(DayOfWeek.wed), PopFirst.yes);
8388 assert(poppedRange.front == Date(2010, 7, 7));
8390 …const cRange = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).fwdRange(everyDayOfWeek!Date(DayO…
8391 assert(cRange.front != Date.init);
8396 auto emptyRange = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 20)).bwdRange(
8397 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.wed), PopFirst.yes);
8398 …assertThrown!DateTimeException((in IntervalRange!(Date, Direction.bwd) range){range.front;}(emptyR…
8400 auto range = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).bwdRange(
8401 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.wed));
8402 assert(range.front == Date(2012, 1, 7));
8404 auto poppedRange = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).bwdRange(
8405 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.wed), PopFirst.yes);
8406 assert(poppedRange.front == Date(2012, 1, 4));
8408 const cRange = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).bwdRange(
8409 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri));
8410 assert(cRange.front != Date.init);
8422 auto emptyRange = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 20)).fwdRange(
8423 everyDayOfWeek!Date(DayOfWeek.wed), PopFirst.yes);
8424 …assertThrown!DateTimeException((IntervalRange!(Date, Direction.fwd) range){range.popFront();}(empt…
8426 auto range = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).fwdRange(
8427 everyDayOfWeek!Date(DayOfWeek.wed), PopFirst.yes);
8438 …const cRange = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).fwdRange(everyDayOfWeek!Date(DayO…
8439 assert(cRange.front != Date.init);
8444 auto emptyRange = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 20)).bwdRange(
8445 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.wed), PopFirst.yes);
8446 …assertThrown!DateTimeException((IntervalRange!(Date, Direction.bwd) range){range.popFront();}(empt…
8448 auto range = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).bwdRange(
8449 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.wed), PopFirst.yes);
8460 const cRange = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).bwdRange(
8461 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri));
8473 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8474 auto func = everyDayOfWeek!Date(DayOfWeek.fri);
8482 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8483 auto func = everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri);
8497 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8498 auto func = everyDayOfWeek!Date(DayOfWeek.fri);
8509 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8510 auto func = everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri);
8527 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8528 auto func = everyDayOfWeek!Date(DayOfWeek.fri);
8536 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8537 auto func = everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri);
8551 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8552 auto func = everyDayOfWeek!Date(DayOfWeek.fri);
8563 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8564 auto func = everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri);
8583 over all of the days in the interval $(D PosInfInterval!Date), pass a
8588 $(REF Date,std,datetime,date)s in the interval - though obviously, since the
8726 static assert(isInputRange!(PosInfIntervalRange!Date)); in opAssign()
8727 static assert(isForwardRange!(PosInfIntervalRange!Date)); in opAssign()
8728 static assert(isInfinite!(PosInfIntervalRange!Date)); in opAssign()
8732 static assert(!isBidirectionalRange!(PosInfIntervalRange!Date)); in opAssign()
8733 static assert(!isRandomAccessRange!(PosInfIntervalRange!Date)); in opAssign()
8734 static assert(!hasSwappableElements!(PosInfIntervalRange!Date)); in opAssign()
8735 static assert(!hasAssignableElements!(PosInfIntervalRange!Date)); in opAssign()
8736 static assert(!hasLength!(PosInfIntervalRange!Date)); in opAssign()
8737 static assert(!hasSlicing!(PosInfIntervalRange!Date)); in opAssign()
8739 static assert(is(ElementType!(PosInfIntervalRange!Date) == Date)); in opAssign()
8752 Date dateFunc(in Date date) { return date; } in dateFunc()
8753 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
8754 auto ir = PosInfIntervalRange!Date(posInfInterval, &dateFunc);
8781 auto range = PosInfInterval!Date(Date(2010, 7, 4)).fwdRange(everyDayOfWeek!Date(DayOfWeek.wed));
8782 assert(range.front == Date(2010, 7, 4));
8784 …auto poppedRange = PosInfInterval!Date(Date(2010, 7, 4)).fwdRange(everyDayOfWeek!Date(DayOfWeek.we…
8785 assert(poppedRange.front == Date(2010, 7, 7));
8787 … const cRange = PosInfInterval!Date(Date(2010, 7, 4)).fwdRange(everyDayOfWeek!Date(DayOfWeek.fri));
8788 assert(cRange.front != Date.init);
8797 …auto range = PosInfInterval!Date(Date(2010, 7, 4)).fwdRange(everyDayOfWeek!Date(DayOfWeek.wed), Po…
8806 … const cRange = PosInfInterval!Date(Date(2010, 7, 4)).fwdRange(everyDayOfWeek!Date(DayOfWeek.fri));
8815 auto interval = PosInfInterval!Date(Date(2010, 7, 4));
8816 auto func = everyDayOfWeek!Date(DayOfWeek.fri);
8827 auto interval = PosInfInterval!Date(Date(2010, 7, 4));
8828 auto func = everyDayOfWeek!Date(DayOfWeek.fri);
8842 auto interval = PosInfInterval!Date(Date(2010, 7, 4));
8843 auto func = everyDayOfWeek!Date(DayOfWeek.fri);
8858 $(D NegInfInterval!Date), pass a function to $(D NegInfInterval)'s
8862 iterate over the $(REF Date,std,datetime,date)s in the interval - though
9009 static assert(isInputRange!(NegInfIntervalRange!Date));
9010 static assert(isForwardRange!(NegInfIntervalRange!Date));
9011 static assert(isInfinite!(NegInfIntervalRange!Date));
9015 static assert(!isBidirectionalRange!(NegInfIntervalRange!Date));
9016 static assert(!isRandomAccessRange!(NegInfIntervalRange!Date));
9017 static assert(!hasSwappableElements!(NegInfIntervalRange!Date));
9018 static assert(!hasAssignableElements!(NegInfIntervalRange!Date));
9019 static assert(!hasLength!(NegInfIntervalRange!Date));
9020 static assert(!hasSlicing!(NegInfIntervalRange!Date));
9022 static assert(is(ElementType!(NegInfIntervalRange!Date) == Date));
9034 Date dateFunc(in Date date) { return date; } in dateFunc()
9035 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
9036 auto ir = NegInfIntervalRange!Date(negInfInterval, &dateFunc);
9063 …auto range = NegInfInterval!Date(Date(2012, 1, 7)).bwdRange(everyDayOfWeek!(Date, Direction.bwd)(D…
9064 assert(range.front == Date(2012, 1, 7));
9066 auto poppedRange = NegInfInterval!Date(Date(2012, 1, 7)).bwdRange(
9067 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.wed), PopFirst.yes);
9068 assert(poppedRange.front == Date(2012, 1, 4));
9070 …const cRange = NegInfInterval!Date(Date(2012, 1, 7)).bwdRange(everyDayOfWeek!(Date, Direction.bwd)…
9071 assert(cRange.front != Date.init);
9080 auto range = NegInfInterval!Date(Date(2012, 1, 7)).bwdRange(
9081 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.wed), PopFirst.yes);
9090 …const cRange = NegInfInterval!Date(Date(2012, 1, 7)).bwdRange(everyDayOfWeek!(Date, Direction.bwd)…
9099 auto interval = NegInfInterval!Date(Date(2012, 1, 7));
9100 auto func = everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri);
9111 auto interval = NegInfInterval!Date(Date(2012, 1, 7));
9112 auto func = everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri);
9126 auto interval = NegInfInterval!Date(Date(2012, 1, 7));
9127 auto func = everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri);