Lines Matching refs:Date
284 assert(Interval!Date(Date(1996, 1, 2), Date(1996, 1, 2)).empty); in Interval()
285 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).empty);
306 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
307 Date(1994, 12, 24)));
309 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
310 Date(2000, 1, 5)));
311 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
312 Date(2012, 3, 1)));
334 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
335 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
337 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
338 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
340 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
341 Interval!Date(Date(1998, 2, 28), Date(2013, 5, 1))));
370 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
371 PosInfInterval!Date(Date(1999, 5, 4))));
397 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
398 NegInfInterval!Date(Date(1996, 5, 4))));
421 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
422 Date(1994, 12, 24)));
424 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
425 Date(2000, 1, 5)));
427 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
428 Date(2012, 3, 1)));
451 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
452 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
454 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
455 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
457 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
458 Interval!Date(Date(2012, 3, 1), Date(2013, 5, 1))));
482 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
483 PosInfInterval!Date(Date(1999, 5, 4))));
485 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
486 PosInfInterval!Date(Date(2013, 3, 7))));
512 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
513 NegInfInterval!Date(Date(1996, 5, 4))));
536 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
537 Date(1994, 12, 24)));
539 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
540 Date(2000, 1, 5)));
542 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
543 Date(2012, 3, 1)));
566 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
567 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
569 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
570 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
572 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
573 Interval!Date(Date(1989, 3, 1), Date(1996, 1, 2))));
600 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
601 PosInfInterval!Date(Date(1999, 5, 4))));
624 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
625 NegInfInterval!Date(Date(1996, 1, 2))));
647 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
648 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
650 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
651 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
653 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
654 Interval!Date(Date(1989, 3, 1), Date(1996, 1, 2))));
677 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
678 PosInfInterval!Date(Date(1999, 5, 4))));
680 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
681 PosInfInterval!Date(Date(2012, 3, 1))));
703 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
704 NegInfInterval!Date(Date(1996, 1, 2))));
706 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
707 NegInfInterval!Date(Date(2000, 1, 2))));
729 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
730 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))) ==
731 Interval!Date(Date(1996, 1 , 2), Date(2000, 8, 2)));
733 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
734 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))) ==
735 Interval!Date(Date(1999, 1 , 12), Date(2011, 9, 17)));
764 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
765 PosInfInterval!Date(Date(1990, 7, 6))) ==
766 Interval!Date(Date(1996, 1 , 2), Date(2012, 3, 1)));
768 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
769 PosInfInterval!Date(Date(1999, 1, 12))) ==
770 Interval!Date(Date(1999, 1 , 12), Date(2012, 3, 1)));
796 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
797 NegInfInterval!Date(Date(1999, 7, 6))) ==
798 Interval!Date(Date(1996, 1 , 2), Date(1999, 7, 6)));
800 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
801 NegInfInterval!Date(Date(2013, 1, 12))) ==
802 Interval!Date(Date(1996, 1 , 2), Date(2012, 3, 1)));
829 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
830 Interval!Date(Date(1990, 7, 6), Date(1996, 1, 2))));
832 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
833 Interval!Date(Date(2012, 3, 1), Date(2013, 9, 17))));
835 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
836 Interval!Date(Date(1989, 3, 1), Date(2012, 3, 1))));
860 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
861 PosInfInterval!Date(Date(1999, 5, 4))));
863 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
864 PosInfInterval!Date(Date(2012, 3, 1))));
887 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
888 NegInfInterval!Date(Date(1996, 1, 2))));
890 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
891 NegInfInterval!Date(Date(2000, 1, 2))));
913 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(
914 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))) ==
915 Interval!Date(Date(1990, 7 , 6), Date(2012, 3, 1)));
917 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(
918 Interval!Date(Date(2012, 3, 1), Date(2013, 5, 7))) ==
919 Interval!Date(Date(1996, 1 , 2), Date(2013, 5, 7)));
948 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(
949 PosInfInterval!Date(Date(1990, 7, 6))) ==
950 PosInfInterval!Date(Date(1990, 7 , 6)));
952 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(
953 PosInfInterval!Date(Date(2012, 3, 1))) ==
954 PosInfInterval!Date(Date(1996, 1 , 2)));
980 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(
981 NegInfInterval!Date(Date(1996, 1, 2))) ==
982 NegInfInterval!Date(Date(2012, 3 , 1)));
984 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(
985 NegInfInterval!Date(Date(2013, 1, 12))) ==
986 NegInfInterval!Date(Date(2013, 1 , 12)));
1014 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(
1015 Interval!Date(Date(1990, 7, 6), Date(1991, 1, 8))) ==
1016 Interval!Date(Date(1990, 7 , 6), Date(2012, 3, 1)));
1018 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(
1019 Interval!Date(Date(2012, 3, 1), Date(2013, 5, 7))) ==
1020 Interval!Date(Date(1996, 1 , 2), Date(2013, 5, 7)));
1049 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(
1050 PosInfInterval!Date(Date(1990, 7, 6))) ==
1051 PosInfInterval!Date(Date(1990, 7 , 6)));
1053 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(
1054 PosInfInterval!Date(Date(2050, 1, 1))) ==
1055 PosInfInterval!Date(Date(1996, 1 , 2)));
1079 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(
1080 NegInfInterval!Date(Date(1602, 5, 21))) ==
1081 NegInfInterval!Date(Date(2012, 3 , 1)));
1083 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(
1084 NegInfInterval!Date(Date(2013, 1, 12))) ==
1085 NegInfInterval!Date(Date(2013, 1 , 12)));
1110 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 4, 5));
1111 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 4, 5));
1114 assert(interval1 == Interval!Date(Date(1996, 2, 21), Date(2012, 5, 25)));
1117 assert(interval2 == Interval!Date(Date(1995, 11, 13), Date(2012, 2, 15)));
1160 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
1161 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
1164 assert(interval1 == Interval!Date(Date(1998, 1, 2), Date(2014, 3, 1)));
1167 assert(interval2 == Interval!Date(Date(1994, 1, 2), Date(2010, 3, 1)));
1207 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
1208 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
1211 assert(interval1 == Interval!Date(Date(1994, 1, 2), Date(2014, 3, 1)));
1214 assert(interval2 == Interval!Date(Date(1998, 1, 2), Date(2010, 3, 1)));
1285 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
1286 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
1289 assert(interval1 == Interval!Date(Date(1994, 1, 2), Date(2014, 3, 1)));
1292 assert(interval2 == Interval!Date(Date(1998, 1, 2), Date(2010, 3, 1)));
1406 auto interval = Interval!Date(Date(2010, 9, 1), Date(2010, 9, 9));
1407 auto func = delegate (scope const Date date) // For iterating over even-numbered days.
1417 assert(range.front == Date(2010, 9, 1));
1420 assert(range.front == Date(2010, 9, 2));
1423 assert(range.front == Date(2010, 9, 4));
1426 assert(range.front == Date(2010, 9, 6));
1429 assert(range.front == Date(2010, 9, 8));
1500 auto interval = Interval!Date(Date(2010, 9, 1), Date(2010, 9, 9));
1501 auto func = delegate (scope const Date date) // For iterating over even-numbered days.
1511 assert(range.front == Date(2010, 9, 9));
1514 assert(range.front == Date(2010, 9, 8));
1517 assert(range.front == Date(2010, 9, 6));
1520 assert(range.front == Date(2010, 9, 4));
1523 assert(range.front == Date(2010, 9, 2));
1614 assertThrown!DateTimeException(Interval!Date(Date(2010, 1, 1), Date(1, 1, 1)));
1616 Interval!Date(Date.init, Date.init);
1624 Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
1625 …assert(Interval!Date(Date(1996, 1, 2), dur!"weeks"(3)) == Interval!Date(Date(1996, 1, 2), Date(199…
1626 …assert(Interval!Date(Date(1996, 1, 2), dur!"days"(3)) == Interval!Date(Date(1996, 1, 2), Date(1996…
1642 assert(Interval!Date(Date(1, 1, 1), Date(2010, 1, 1)).begin == Date(1, 1, 1));
1643 assert(Interval!Date(Date(2010, 1, 1), Date(2010, 1, 1)).begin == Date(2010, 1, 1));
1644 assert(Interval!Date(Date(1997, 12, 31), Date(1998, 1, 1)).begin == Date(1997, 12, 31));
1646 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1647 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1648 assert(cInterval.begin == Date(2010, 7, 4));
1649 assert(iInterval.begin == Date(2010, 7, 4));
1652 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).begin == Date(1996, 1, 2));
1660 assert(Interval!Date(Date(1, 1, 1), Date(2010, 1, 1)).end == Date(2010, 1, 1));
1661 assert(Interval!Date(Date(2010, 1, 1), Date(2010, 1, 1)).end == Date(2010, 1, 1));
1662 assert(Interval!Date(Date(1997, 12, 31), Date(1998, 1, 1)).end == Date(1998, 1, 1));
1664 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1665 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1666 assert(cInterval.end == Date(2012, 1, 7));
1667 assert(iInterval.end == Date(2012, 1, 7));
1670 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).end == Date(2012, 3, 1));
1679 assert(Interval!Date(Date(2010, 1, 1), Date(2010, 1, 1)).length == dur!"days"(0));
1680 assert(Interval!Date(Date(2010, 1, 1), Date(2010, 4, 1)).length == dur!"days"(90));
1687 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1688 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1693 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).length == dur!"days"(5903));
1702 assert(Interval!Date(Date(2010, 1, 1), Date(2010, 1, 1)).empty);
1703 assert(!Interval!Date(Date(2010, 1, 1), Date(2010, 4, 1)).empty);
1708 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1709 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1714 assert(Interval!Date(Date(1996, 1, 2), Date(1996, 1, 2)).empty);
1715 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).empty);
1723 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1725 …assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).contains(Date(2010, …
1727 assert(!interval.contains(Date(2009, 7, 4)));
1728 assert(!interval.contains(Date(2010, 7, 3)));
1729 assert(interval.contains(Date(2010, 7, 4)));
1730 assert(interval.contains(Date(2010, 7, 5)));
1731 assert(interval.contains(Date(2011, 7, 1)));
1732 assert(interval.contains(Date(2012, 1, 6)));
1733 assert(!interval.contains(Date(2012, 1, 7)));
1734 assert(!interval.contains(Date(2012, 1, 8)));
1735 assert(!interval.contains(Date(2013, 1, 7)));
1737 const cdate = Date(2010, 7, 6);
1738 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1739 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1745 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(Date(1994, 12, 24)));
1746 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(Date(2000, 1, 5)));
1747 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(Date(2012, 3, 1)));
1755 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1757 … assertThrown!DateTimeException(interval.contains(Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
1758 … assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).contains(interval));
1759 assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4),dur!"days"(0)).contains(
1760 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
1763 assert(!interval.contains(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
1764 assert(!interval.contains(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
1765 assert(!interval.contains(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
1766 assert(!interval.contains(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
1767 assert(!interval.contains(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
1768 assert(!interval.contains(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
1769 assert(interval.contains(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
1770 assert(interval.contains(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
1771 assert(interval.contains(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
1772 assert(!interval.contains(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
1773 assert(!interval.contains(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
1774 assert(!interval.contains(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
1776 assert(!Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)).contains(interval));
1777 assert(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).contains(interval));
1778 assert(!Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).contains(interval));
1779 assert(!Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).contains(interval));
1780 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).contains(interval));
1781 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).contains(interval));
1782 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).contains(interval));
1783 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).contains(interval));
1784 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).contains(interval));
1785 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).contains(interval));
1786 assert(!Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).contains(interval));
1787 assert(!Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)).contains(interval));
1789 assert(!interval.contains(PosInfInterval!Date(Date(2010, 7, 3))));
1790 assert(!interval.contains(PosInfInterval!Date(Date(2010, 7, 4))));
1791 assert(!interval.contains(PosInfInterval!Date(Date(2010, 7, 5))));
1792 assert(!interval.contains(PosInfInterval!Date(Date(2012, 1, 6))));
1793 assert(!interval.contains(PosInfInterval!Date(Date(2012, 1, 7))));
1794 assert(!interval.contains(PosInfInterval!Date(Date(2012, 1, 8))));
1796 assert(!interval.contains(NegInfInterval!Date(Date(2010, 7, 3))));
1797 assert(!interval.contains(NegInfInterval!Date(Date(2010, 7, 4))));
1798 assert(!interval.contains(NegInfInterval!Date(Date(2010, 7, 5))));
1799 assert(!interval.contains(NegInfInterval!Date(Date(2012, 1, 6))));
1800 assert(!interval.contains(NegInfInterval!Date(Date(2012, 1, 7))));
1801 assert(!interval.contains(NegInfInterval!Date(Date(2012, 1, 8))));
1803 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1804 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1805 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
1806 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
1807 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
1808 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
1809 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
1810 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
1840 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
1841 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
1842 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
1843 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
1844 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(
1845 Interval!Date(Date(1998, 2, 28), Date(2013, 5, 1))));
1847 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(PosInfInterval!Date(Date(1999, …
1849 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).contains(NegInfInterval!Date(Date(1996, …
1857 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1859 …assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).isBefore(Date(2010, …
1861 assert(!interval.isBefore(Date(2009, 7, 3)));
1862 assert(!interval.isBefore(Date(2010, 7, 3)));
1863 assert(!interval.isBefore(Date(2010, 7, 4)));
1864 assert(!interval.isBefore(Date(2010, 7, 5)));
1865 assert(!interval.isBefore(Date(2011, 7, 1)));
1866 assert(!interval.isBefore(Date(2012, 1, 6)));
1867 assert(interval.isBefore(Date(2012, 1, 7)));
1868 assert(interval.isBefore(Date(2012, 1, 8)));
1869 assert(interval.isBefore(Date(2013, 1, 7)));
1871 const cdate = Date(2010, 7, 6);
1872 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1873 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1879 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(Date(1994, 12, 24)));
1880 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(Date(2000, 1, 5)));
1881 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(Date(2012, 3, 1)));
1889 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1891 … assertThrown!DateTimeException(interval.isBefore(Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
1892 … assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).isBefore(interval));
1893 assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).isBefore(
1894 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
1897 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
1898 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
1899 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
1900 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
1901 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
1902 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
1903 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
1904 assert(!interval.isBefore(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
1905 assert(!interval.isBefore(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
1906 assert(!interval.isBefore(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
1907 assert(interval.isBefore(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
1908 assert(interval.isBefore(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
1910 assert(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)).isBefore(interval));
1911 assert(!Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).isBefore(interval));
1912 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).isBefore(interval));
1913 assert(!Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).isBefore(interval));
1914 assert(!Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).isBefore(interval));
1915 assert(!Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).isBefore(interval));
1916 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).isBefore(interval));
1917 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).isBefore(interval));
1918 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).isBefore(interval));
1919 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).isBefore(interval));
1920 assert(!Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).isBefore(interval));
1921 assert(!Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)).isBefore(interval));
1923 assert(!interval.isBefore(PosInfInterval!Date(Date(2010, 7, 3))));
1924 assert(!interval.isBefore(PosInfInterval!Date(Date(2010, 7, 4))));
1925 assert(!interval.isBefore(PosInfInterval!Date(Date(2010, 7, 5))));
1926 assert(!interval.isBefore(PosInfInterval!Date(Date(2012, 1, 6))));
1927 assert(interval.isBefore(PosInfInterval!Date(Date(2012, 1, 7))));
1928 assert(interval.isBefore(PosInfInterval!Date(Date(2012, 1, 8))));
1930 assert(!interval.isBefore(NegInfInterval!Date(Date(2010, 7, 3))));
1931 assert(!interval.isBefore(NegInfInterval!Date(Date(2010, 7, 4))));
1932 assert(!interval.isBefore(NegInfInterval!Date(Date(2010, 7, 5))));
1933 assert(!interval.isBefore(NegInfInterval!Date(Date(2012, 1, 6))));
1934 assert(!interval.isBefore(NegInfInterval!Date(Date(2012, 1, 7))));
1935 assert(!interval.isBefore(NegInfInterval!Date(Date(2012, 1, 8))));
1937 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1938 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1939 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
1940 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
1941 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
1942 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
1943 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
1944 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
1974 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
1975 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
1976 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
1977 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
1978 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(
1979 Interval!Date(Date(2012, 3, 1), Date(2013, 5, 1))));
1981 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(PosInfInterval!Date(Date(1999, …
1982 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(PosInfInterval!Date(Date(2013, 3…
1984 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isBefore(NegInfInterval!Date(Date(1996, …
1992 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
1994 …assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).isAfter(Date(2010, 7…
1996 assert(interval.isAfter(Date(2009, 7, 4)));
1997 assert(interval.isAfter(Date(2010, 7, 3)));
1998 assert(!interval.isAfter(Date(2010, 7, 4)));
1999 assert(!interval.isAfter(Date(2010, 7, 5)));
2000 assert(!interval.isAfter(Date(2011, 7, 1)));
2001 assert(!interval.isAfter(Date(2012, 1, 6)));
2002 assert(!interval.isAfter(Date(2012, 1, 7)));
2003 assert(!interval.isAfter(Date(2012, 1, 8)));
2004 assert(!interval.isAfter(Date(2013, 1, 7)));
2006 const cdate = Date(2010, 7, 6);
2007 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2008 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2014 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(Date(1994, 12, 24)));
2015 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(Date(2000, 1, 5)));
2016 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(Date(2012, 3, 1)));
2024 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2026 … assertThrown!DateTimeException(interval.isAfter(Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2027 … assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).isAfter(interval));
2028 assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).isAfter(
2029 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2032 assert(interval.isAfter(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
2033 assert(!interval.isAfter(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
2034 assert(interval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
2035 assert(!interval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
2036 assert(!interval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
2037 assert(!interval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
2038 assert(!interval.isAfter(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
2039 assert(!interval.isAfter(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
2040 assert(!interval.isAfter(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
2041 assert(!interval.isAfter(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
2042 assert(!interval.isAfter(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
2043 assert(!interval.isAfter(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
2045 assert(!Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)).isAfter(interval));
2046 assert(!Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).isAfter(interval));
2047 assert(!Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).isAfter(interval));
2048 assert(!Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).isAfter(interval));
2049 assert(!Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).isAfter(interval));
2050 assert(!Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).isAfter(interval));
2051 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).isAfter(interval));
2052 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).isAfter(interval));
2053 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).isAfter(interval));
2054 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).isAfter(interval));
2055 assert(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).isAfter(interval));
2056 assert(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)).isAfter(interval));
2058 assert(!interval.isAfter(PosInfInterval!Date(Date(2010, 7, 3))));
2059 assert(!interval.isAfter(PosInfInterval!Date(Date(2010, 7, 4))));
2060 assert(!interval.isAfter(PosInfInterval!Date(Date(2010, 7, 5))));
2061 assert(!interval.isAfter(PosInfInterval!Date(Date(2012, 1, 6))));
2062 assert(!interval.isAfter(PosInfInterval!Date(Date(2012, 1, 7))));
2063 assert(!interval.isAfter(PosInfInterval!Date(Date(2012, 1, 8))));
2065 assert(interval.isAfter(NegInfInterval!Date(Date(2010, 7, 3))));
2066 assert(interval.isAfter(NegInfInterval!Date(Date(2010, 7, 4))));
2067 assert(!interval.isAfter(NegInfInterval!Date(Date(2010, 7, 5))));
2068 assert(!interval.isAfter(NegInfInterval!Date(Date(2012, 1, 6))));
2069 assert(!interval.isAfter(NegInfInterval!Date(Date(2012, 1, 7))));
2070 assert(!interval.isAfter(NegInfInterval!Date(Date(2012, 1, 8))));
2072 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2073 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2074 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2075 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2076 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2077 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2078 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2079 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2109 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
2110 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
2111 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
2112 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
2113 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(
2114 Interval!Date(Date(1989, 3, 1), Date(1996, 1, 2))));
2116 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(PosInfInterval!Date(Date(1999, 5…
2118 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAfter(NegInfInterval!Date(Date(1996, 1,…
2126 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2128 …assertThrown!DateTimeException(interval.intersects(Interval!Date(Date(2010, 7, 4), dur!"days"(0)))…
2129 …assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).intersects(interval)…
2130 assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).intersects(
2131 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2134 assert(!interval.intersects(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
2135 assert(interval.intersects(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
2136 assert(!interval.intersects(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
2137 assert(interval.intersects(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
2138 assert(interval.intersects(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
2139 assert(interval.intersects(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
2140 assert(interval.intersects(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
2141 assert(interval.intersects(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
2142 assert(interval.intersects(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
2143 assert(interval.intersects(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
2144 assert(!interval.intersects(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
2145 assert(!interval.intersects(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
2147 assert(!Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)).intersects(interval));
2148 assert(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).intersects(interval));
2149 assert(!Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).intersects(interval));
2150 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).intersects(interval));
2151 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).intersects(interval));
2152 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).intersects(interval));
2153 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).intersects(interval));
2154 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).intersects(interval));
2155 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).intersects(interval));
2156 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).intersects(interval));
2157 assert(!Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).intersects(interval));
2158 assert(!Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)).intersects(interval));
2160 assert(interval.intersects(PosInfInterval!Date(Date(2010, 7, 3))));
2161 assert(interval.intersects(PosInfInterval!Date(Date(2010, 7, 4))));
2162 assert(interval.intersects(PosInfInterval!Date(Date(2010, 7, 5))));
2163 assert(interval.intersects(PosInfInterval!Date(Date(2012, 1, 6))));
2164 assert(!interval.intersects(PosInfInterval!Date(Date(2012, 1, 7))));
2165 assert(!interval.intersects(PosInfInterval!Date(Date(2012, 1, 8))));
2167 assert(!interval.intersects(NegInfInterval!Date(Date(2010, 7, 3))));
2168 assert(!interval.intersects(NegInfInterval!Date(Date(2010, 7, 4))));
2169 assert(interval.intersects(NegInfInterval!Date(Date(2010, 7, 5))));
2170 assert(interval.intersects(NegInfInterval!Date(Date(2012, 1, 6))));
2171 assert(interval.intersects(NegInfInterval!Date(Date(2012, 1, 7))));
2172 assert(interval.intersects(NegInfInterval!Date(Date(2012, 1, 8))));
2174 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2175 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2176 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2177 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2178 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2179 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2180 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2181 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2211 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
2212 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))));
2213 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
2214 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))));
2215 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(
2216 Interval!Date(Date(1989, 3, 1), Date(1996, 1, 2))));
2218 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(PosInfInterval!Date(Date(1999,…
2219 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(PosInfInterval!Date(Date(2012…
2221 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(NegInfInterval!Date(Date(1996…
2222 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersects(NegInfInterval!Date(Date(2000,…
2230 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2232 …assertThrown!DateTimeException(interval.intersection(Interval!Date(Date(2010, 7, 4), dur!"days"(0)…
2233 …assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).intersection(interva…
2234 assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 4), dur!"days"(0)).intersection(
2235 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2237 …assertThrown!DateTimeException(interval.intersection(Interval!Date(Date(2010, 7, 1), Date(2010, 7,…
2238 …assertThrown!DateTimeException(interval.intersection(Interval!Date(Date(2010, 7, 3), Date(2010, 7,…
2239 …assertThrown!DateTimeException(interval.intersection(Interval!Date(Date(2012, 1, 7), Date(2012, 1,…
2240 …assertThrown!DateTimeException(interval.intersection(Interval!Date(Date(2012, 1, 8), Date(2012, 1,…
2242 …assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)).intersection(inte…
2243 …assertThrown!DateTimeException(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).intersection(inte…
2244 …assertThrown!DateTimeException(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).intersection(inte…
2245 …assertThrown!DateTimeException(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)).intersection(inte…
2247 assertThrown!DateTimeException(interval.intersection(PosInfInterval!Date(Date(2012, 1, 7))));
2248 assertThrown!DateTimeException(interval.intersection(PosInfInterval!Date(Date(2012, 1, 8))));
2250 assertThrown!DateTimeException(interval.intersection(NegInfInterval!Date(Date(2010, 7, 3))));
2251 assertThrown!DateTimeException(interval.intersection(NegInfInterval!Date(Date(2010, 7, 4))));
2254 assert(interval.intersection(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
2255 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2256 assert(interval.intersection(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
2257 Interval!Date(Date(2010, 7, 4), Date(2010, 7, 5)));
2258 assert(interval.intersection(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
2259 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2260 assert(interval.intersection(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
2261 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2262 assert(interval.intersection(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
2263 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)));
2264 assert(interval.intersection(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
2265 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)));
2266 assert(interval.intersection(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
2267 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
2268 assert(interval.intersection(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
2269 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
2271 assert(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).intersection(interval) ==
2272 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2273 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).intersection(interval) ==
2274 Interval!Date(Date(2010, 7, 4), Date(2010, 7, 5)));
2275 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).intersection(interval) ==
2276 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2277 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).intersection(interval) ==
2278 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2279 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).intersection(interval) ==
2280 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)));
2281 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).intersection(interval) ==
2282 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)));
2283 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).intersection(interval) ==
2284 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
2285 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).intersection(interval) ==
2286 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
2288 assert(interval.intersection(PosInfInterval!Date(Date(2010, 7, 3))) ==
2289 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2290 assert(interval.intersection(PosInfInterval!Date(Date(2010, 7, 4))) ==
2291 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2292 assert(interval.intersection(PosInfInterval!Date(Date(2010, 7, 5))) ==
2293 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)));
2294 assert(interval.intersection(PosInfInterval!Date(Date(2012, 1, 6))) ==
2295 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
2297 assert(interval.intersection(NegInfInterval!Date(Date(2010, 7, 5))) ==
2298 Interval!Date(Date(2010, 7, 4), Date(2010, 7, 5)));
2299 assert(interval.intersection(NegInfInterval!Date(Date(2012, 1, 6))) ==
2300 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 6)));
2301 assert(interval.intersection(NegInfInterval!Date(Date(2012, 1, 7))) ==
2302 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2303 assert(interval.intersection(NegInfInterval!Date(Date(2012, 1, 8))) ==
2304 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2306 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2307 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2308 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2309 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2310 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2311 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2312 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2313 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2343 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
2344 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))) ==
2345 Interval!Date(Date(1996, 1 , 2), Date(2000, 8, 2)));
2346 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
2347 Interval!Date(Date(1999, 1, 12),Date(2011, 9, 17))) ==
2348 Interval!Date(Date(1999, 1 , 12), Date(2011, 9, 17)));
2350 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
2351 PosInfInterval!Date(Date(1990, 7, 6))) ==
2352 Interval!Date(Date(1996, 1 , 2), Date(2012, 3, 1)));
2353 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
2354 PosInfInterval!Date(Date(1999, 1, 12))) ==
2355 Interval!Date(Date(1999, 1 , 12), Date(2012, 3, 1)));
2357 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
2358 NegInfInterval!Date(Date(1999, 7, 6))) ==
2359 Interval!Date(Date(1996, 1 , 2), Date(1999, 7, 6)));
2360 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection(
2361 NegInfInterval!Date(Date(2013, 1, 12))) ==
2362 Interval!Date(Date(1996, 1 , 2), Date(2012, 3, 1)));
2370 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2372 … static void testInterval(scope const Interval!Date interval1, scope const Interval!Date interval2)
2377 …assertThrown!DateTimeException(testInterval(interval, Interval!Date(Date(2010, 7, 4), dur!"days"(0…
2378 …assertThrown!DateTimeException(testInterval(Interval!Date(Date(2010, 7, 4), dur!"days"(0)), interv…
2379 assertThrown!DateTimeException(testInterval(Interval!Date(Date(2010, 7, 4), dur!"days"(0)),
2380 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2383 assert(!interval.isAdjacent(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
2384 assert(!interval.isAdjacent(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
2385 assert(interval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
2386 assert(!interval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
2387 assert(!interval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
2388 assert(!interval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
2389 assert(!interval.isAdjacent(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
2390 assert(!interval.isAdjacent(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
2391 assert(!interval.isAdjacent(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
2392 assert(!interval.isAdjacent(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
2393 assert(interval.isAdjacent(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
2394 assert(!interval.isAdjacent(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
2396 assert(!Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)).isAdjacent(interval));
2397 assert(!Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).isAdjacent(interval));
2398 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).isAdjacent(interval));
2399 assert(!Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).isAdjacent(interval));
2400 assert(!Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).isAdjacent(interval));
2401 assert(!Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).isAdjacent(interval));
2402 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).isAdjacent(interval));
2403 assert(!Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).isAdjacent(interval));
2404 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).isAdjacent(interval));
2405 assert(!Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).isAdjacent(interval));
2406 assert(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).isAdjacent(interval));
2407 assert(!Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)).isAdjacent(interval));
2409 assert(!interval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 3))));
2410 assert(!interval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 4))));
2411 assert(!interval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 5))));
2412 assert(!interval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 6))));
2413 assert(interval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 7))));
2414 assert(!interval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 8))));
2416 assert(!interval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 3))));
2417 assert(interval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 4))));
2418 assert(!interval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 5))));
2419 assert(!interval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 6))));
2420 assert(!interval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 7))));
2421 assert(!interval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 8))));
2423 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2424 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2425 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2426 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2427 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2428 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2429 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2430 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2460 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
2461 Interval!Date(Date(1990, 7, 6), Date(1996, 1, 2))));
2462 assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
2463 Interval!Date(Date(2012, 3, 1), Date(2013, 9, 17))));
2464 assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(
2465 Interval!Date(Date(1989, 3, 1), Date(2012, 3, 1))));
2467 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(PosInfInterval!Date(Date(1999…
2468 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(PosInfInterval!Date(Date(2012,…
2470 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).isAdjacent(NegInfInterval!Date(Date(1996,…
2471 …assert(!Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)) .isAdjacent(NegInfInterval!Date(Date(200…
2479 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2481 static void testInterval(I)(scope const Interval!Date interval1, scope const I interval2) in testInterval()
2486 …assertThrown!DateTimeException(testInterval(interval, Interval!Date(Date(2010, 7, 4), dur!"days"(0…
2487 …assertThrown!DateTimeException(testInterval(Interval!Date(Date(2010, 7, 4), dur!"days"(0)), interv…
2488 assertThrown!DateTimeException(testInterval(Interval!Date(Date(2010, 7, 4), dur!"days"(0)),
2489 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2491 …assertThrown!DateTimeException(testInterval(interval, Interval!Date(Date(2010, 7, 1), Date(2010, 7…
2492 …assertThrown!DateTimeException(testInterval(interval, Interval!Date(Date(2012, 1, 8), Date(2012, 1…
2494 …assertThrown!DateTimeException(testInterval(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)), int…
2495 …assertThrown!DateTimeException(testInterval(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)), int…
2497 assertThrown!DateTimeException(testInterval(interval, PosInfInterval!Date(Date(2012, 1, 8))));
2499 assertThrown!DateTimeException(testInterval(interval, NegInfInterval!Date(Date(2010, 7, 3))));
2502 assert(interval.merge(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
2503 Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)));
2504 assert(interval.merge(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))) ==
2505 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2506 assert(interval.merge(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
2507 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2508 assert(interval.merge(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
2509 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2510 assert(interval.merge(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
2511 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)));
2512 assert(interval.merge(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
2513 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2514 assert(interval.merge(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
2515 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2516 assert(interval.merge(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
2517 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2518 assert(interval.merge(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
2519 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2520 assert(interval.merge(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))) ==
2521 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2523 assert(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).merge(interval) ==
2524 Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)));
2525 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).merge(interval) ==
2526 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2527 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).merge(interval) ==
2528 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2529 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).merge(interval) ==
2530 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2531 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).merge(interval) ==
2532 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)));
2533 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).merge(interval) ==
2534 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2535 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).merge(interval) ==
2536 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2537 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).merge(interval) ==
2538 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2539 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).merge(interval) ==
2540 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2541 assert(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).merge(interval) ==
2542 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2544 assert(interval.merge(PosInfInterval!Date(Date(2010, 7, 3))) ==
2545 PosInfInterval!Date(Date(2010, 7, 3)));
2546 assert(interval.merge(PosInfInterval!Date(Date(2010, 7, 4))) ==
2547 PosInfInterval!Date(Date(2010, 7, 4)));
2548 assert(interval.merge(PosInfInterval!Date(Date(2010, 7, 5))) ==
2549 PosInfInterval!Date(Date(2010, 7, 4)));
2550 assert(interval.merge(PosInfInterval!Date(Date(2012, 1, 6))) ==
2551 PosInfInterval!Date(Date(2010, 7, 4)));
2552 assert(interval.merge(PosInfInterval!Date(Date(2012, 1, 7))) ==
2553 PosInfInterval!Date(Date(2010, 7, 4)));
2555 assert(interval.merge(NegInfInterval!Date(Date(2010, 7, 4))) ==
2556 NegInfInterval!Date(Date(2012, 1, 7)));
2557 assert(interval.merge(NegInfInterval!Date(Date(2010, 7, 5))) ==
2558 NegInfInterval!Date(Date(2012, 1, 7)));
2559 assert(interval.merge(NegInfInterval!Date(Date(2012, 1, 6))) ==
2560 NegInfInterval!Date(Date(2012, 1, 7)));
2561 assert(interval.merge(NegInfInterval!Date(Date(2012, 1, 7))) ==
2562 NegInfInterval!Date(Date(2012, 1, 7)));
2563 assert(interval.merge(NegInfInterval!Date(Date(2012, 1, 8))) ==
2564 NegInfInterval!Date(Date(2012, 1, 8)));
2566 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2567 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2568 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2569 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2570 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2571 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2572 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2573 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2603 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(Interval!Date(Date(1990, 7, 6), Dat…
2604 Interval!Date(Date(1990, 7 , 6), Date(2012, 3, 1)));
2605 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(Interval!Date(Date(2012, 3, 1), Dat…
2606 Interval!Date(Date(1996, 1 , 2), Date(2013, 5, 7)));
2608 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(PosInfInterval!Date(Date(1990, 7, 6…
2609 PosInfInterval!Date(Date(1990, 7 , 6)));
2610 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(PosInfInterval!Date(Date(2012, 3, 1…
2611 PosInfInterval!Date(Date(1996, 1 , 2)));
2613 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(NegInfInterval!Date(Date(1996, 1, 2…
2614 NegInfInterval!Date(Date(2012, 3 , 1)));
2615 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).merge(NegInfInterval!Date(Date(2013, 1, 1…
2616 NegInfInterval!Date(Date(2013, 1 , 12)));
2624 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2626 … static void testInterval(scope const Interval!Date interval1, scope const Interval!Date interval2)
2631 …assertThrown!DateTimeException(testInterval(interval, Interval!Date(Date(2010, 7, 4), dur!"days"(0…
2632 …assertThrown!DateTimeException(testInterval(Interval!Date(Date(2010, 7, 4), dur!"days"(0)),interva…
2633 assertThrown!DateTimeException(testInterval(Interval!Date(Date(2010, 7, 4), dur!"days"(0)),
2634 Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
2637 assert(interval.span(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))) ==
2638 Interval!Date(Date(2010, 7, 1), Date(2012, 1, 7)));
2639 assert(interval.span(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
2640 Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)));
2641 assert(interval.span(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))) ==
2642 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2643 assert(interval.span(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
2644 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2645 assert(interval.span(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
2646 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2647 assert(interval.span(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
2648 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)));
2649 assert(interval.span(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
2650 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2651 assert(interval.span(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
2652 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2653 assert(interval.span(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
2654 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2655 assert(interval.span(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
2656 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2657 assert(interval.span(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))) ==
2658 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2659 assert(interval.span(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))) ==
2660 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 9)));
2662 assert(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)).span(interval) ==
2663 Interval!Date(Date(2010, 7, 1), Date(2012, 1, 7)));
2664 assert(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)).span(interval) ==
2665 Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3)));
2666 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)).span(interval) ==
2667 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2668 assert(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)).span(interval) ==
2669 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2670 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)).span(interval) ==
2671 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
2672 assert(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)).span(interval) ==
2673 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8)));
2674 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)).span(interval) ==
2675 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2676 assert(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)).span(interval) ==
2677 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2678 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)).span(interval) ==
2679 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
2680 assert(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)).span(interval) ==
2681 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2682 assert(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)).span(interval) ==
2683 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
2684 assert(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)).span(interval) ==
2685 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 9)));
2687 …assert(interval.span(PosInfInterval!Date(Date(2010, 7, 3))) == PosInfInterval!Date(Date(2010, 7, 3…
2688 …assert(interval.span(PosInfInterval!Date(Date(2010, 7, 4))) == PosInfInterval!Date(Date(2010, 7, 4…
2689 …assert(interval.span(PosInfInterval!Date(Date(2010, 7, 5))) == PosInfInterval!Date(Date(2010, 7, 4…
2690 …assert(interval.span(PosInfInterval!Date(Date(2012, 1, 6))) == PosInfInterval!Date(Date(2010, 7, 4…
2691 …assert(interval.span(PosInfInterval!Date(Date(2012, 1, 7))) == PosInfInterval!Date(Date(2010, 7, 4…
2692 …assert(interval.span(PosInfInterval!Date(Date(2012, 1, 8))) == PosInfInterval!Date(Date(2010, 7, 4…
2694 …assert(interval.span(NegInfInterval!Date(Date(2010, 7, 3))) == NegInfInterval!Date(Date(2012, 1, 7…
2695 …assert(interval.span(NegInfInterval!Date(Date(2010, 7, 4))) == NegInfInterval!Date(Date(2012, 1, 7…
2696 …assert(interval.span(NegInfInterval!Date(Date(2010, 7, 5))) == NegInfInterval!Date(Date(2012, 1, 7…
2697 …assert(interval.span(NegInfInterval!Date(Date(2012, 1, 6))) == NegInfInterval!Date(Date(2012, 1, 7…
2698 …assert(interval.span(NegInfInterval!Date(Date(2012, 1, 7))) == NegInfInterval!Date(Date(2012, 1, 7…
2699 …assert(interval.span(NegInfInterval!Date(Date(2012, 1, 8))) == NegInfInterval!Date(Date(2012, 1, 8…
2701 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2702 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2703 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2704 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2705 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
2706 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2707 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2708 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
2738 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(Interval!Date(Date(1990, 7, 6), Date…
2739 Interval!Date(Date(1990, 7 , 6), Date(2012, 3, 1)));
2740 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(Interval!Date(Date(2012, 3, 1), Date…
2741 Interval!Date(Date(1996, 1 , 2), Date(2013, 5, 7)));
2743 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(PosInfInterval!Date(Date(1990, 7, 6)…
2744 PosInfInterval!Date(Date(1990, 7 , 6)));
2745 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(PosInfInterval!Date(Date(2050, 1, 1)…
2746 PosInfInterval!Date(Date(1996, 1 , 2)));
2748 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(NegInfInterval!Date(Date(1602, 5, 21…
2749 NegInfInterval!Date(Date(2012, 3 , 1)));
2750 …assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).span(NegInfInterval!Date(Date(2013, 1, 12…
2751 NegInfInterval!Date(Date(2013, 1 , 12)));
2759 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2761 static void testIntervalFail(Interval!Date interval, scope const Duration duration)
2766 …assertThrown!DateTimeException(testIntervalFail(Interval!Date(Date(2010, 7, 4), dur!"days"(0)), du…
2775 testInterval(interval, dur!"days"(22), Interval!Date(Date(2010, 7, 26), Date(2012, 1, 29)));
2776 testInterval(interval, dur!"days"(-22), Interval!Date(Date(2010, 6, 12), Date(2011, 12, 16)));
2778 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2779 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2784 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 4, 5));
2785 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 4, 5));
2788 assert(interval1 == Interval!Date(Date(1996, 2, 21), Date(2012, 5, 25)));
2791 assert(interval2 == Interval!Date(Date(1995, 11, 13), Date(2012, 2, 15)));
2800 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2802 static void testIntervalFail(Interval!Date interval, int years, int months)
2807 …assertThrown!DateTimeException(testIntervalFail(Interval!Date(Date(2010, 7, 4), dur!"days"(0)), 1,…
2816 …testInterval(interval, 5, 0, AllowDayOverflow.yes, Interval!Date(Date(2015, 7, 4), Date(2017, 1, 7…
2817 …testInterval(interval, -5, 0, AllowDayOverflow.yes, Interval!Date(Date(2005, 7, 4), Date(2007, 1, …
2819 auto interval2 = Interval!Date(Date(2000, 1, 29), Date(2010, 5, 31));
2821 …testInterval(interval2, 1, 1, AllowDayOverflow.yes, Interval!Date(Date(2001, 3, 1), Date(2011, 7, …
2822 …testInterval(interval2, 1, -1, AllowDayOverflow.yes, Interval!Date(Date(2000, 12, 29), Date(2011, …
2823 …estInterval(interval2, -1, -1, AllowDayOverflow.yes, Interval!Date(Date(1998, 12, 29), Date(2009, …
2824 …testInterval(interval2, -1, 1, AllowDayOverflow.yes, Interval!Date(Date(1999, 3, 1), Date(2009, 7,…
2826 …testInterval(interval2, 1, 1, AllowDayOverflow.no, Interval!Date(Date(2001, 2, 28), Date(2011, 6, …
2827 …testInterval(interval2, 1, -1, AllowDayOverflow.no, Interval!Date(Date(2000, 12, 29), Date(2011, 4…
2828 …testInterval(interval2, -1, -1, AllowDayOverflow.no, Interval!Date(Date(1998, 12, 29), Date(2009, …
2829 …testInterval(interval2, -1, 1, AllowDayOverflow.no, Interval!Date(Date(1999, 2, 28), Date(2009, 6,…
2832 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2833 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2838 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
2839 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
2842 assert(interval1 == Interval!Date(Date(1998, 1, 2), Date(2014, 3, 1)));
2845 assert(interval2 == Interval!Date(Date(1994, 1, 2), Date(2010, 3, 1)));
2853 auto interval = Interval!Date(Date(2000, 7, 4), Date(2012, 1, 7));
2860 …assertThrown!DateTimeException(testIntervalFail(Interval!Date(Date(2010, 7, 4), dur!"days"(0)), du…
2861 …assertThrown!DateTimeException(testIntervalFail(Interval!Date(Date(2010, 7, 4), Date(2010, 7, 5)),…
2870 testInterval(interval, dur!"days"(22), Interval!Date(Date(2000, 6, 12), Date(2012, 1, 29)));
2871 testInterval(interval, dur!"days"(-22), Interval!Date(Date(2000, 7, 26), Date(2011, 12, 16)));
2873 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2874 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2879 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
2880 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
2883 assert(interval1 == Interval!Date(Date(1995, 12, 31), Date(2012, 3, 3)));
2886 assert(interval2 == Interval!Date(Date(1996, 1, 4), Date(2012, 2, 28)));
2895 auto interval = Interval!Date(Date(2000, 7, 4), Date(2012, 1, 7));
2897 static void testIntervalFail(Interval!Date interval, int years, int months)
2902 …assertThrown!DateTimeException(testIntervalFail(Interval!Date(Date(2010, 7, 4), dur!"days"(0)), 1,…
2903 …assertThrown!DateTimeException(testIntervalFail(Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)),…
2913 Interval!Date(Date(1995, 7, 4), Date(2017, 1, 7)));
2915 Interval!Date(Date(2005, 7, 4), Date(2007, 1, 7)));
2918 Interval!Date(Date(2000, 7, 4), Date(2017, 1, 7)));
2920 Interval!Date(Date(2000, 7, 4), Date(2007, 1, 7)));
2923 Interval!Date(Date(1995, 7, 4), Date(2012, 1, 7)));
2925 Interval!Date(Date(2005, 7, 4), Date(2012, 1, 7)));
2927 auto interval2 = Interval!Date(Date(2000, 1, 29), Date(2010, 5, 31));
2930 Interval!Date(Date(1998, 12, 29), Date(2011, 7, 1)));
2932 Interval!Date(Date(1999, 3, 1), Date(2011, 5, 1)));
2934 Interval!Date(Date(2001, 3, 1), Date(2009, 5, 1)));
2936 Interval!Date(Date(2000, 12, 29), Date(2009, 7, 1)));
2939 Interval!Date(Date(1998, 12, 29), Date(2011, 6, 30)));
2941 Interval!Date(Date(1999, 2, 28), Date(2011, 4, 30)));
2943 Interval!Date(Date(2001, 2, 28), Date(2009, 4, 30)));
2945 Interval!Date(Date(2000, 12, 29), Date(2009, 6, 30)));
2948 Interval!Date(Date(2000, 1, 29), Date(2011, 7, 1)));
2950 Interval!Date(Date(2000, 1, 29), Date(2011, 5, 1)));
2952 Interval!Date(Date(2000, 1, 29), Date(2009, 5, 1)));
2954 Interval!Date(Date(2000, 1, 29), Date(2009, 7, 1)));
2957 Interval!Date(Date(2000, 1, 29), Date(2011, 6, 30)));
2959 Interval!Date(Date(2000, 1, 29), Date(2011, 4, 30)));
2961 Interval!Date(Date(2000, 1, 29), Date(2009, 4, 30)));
2963 Interval!Date(Date(2000, 1, 29), Date(2009, 6, 30)));
2966 Interval!Date(Date(1998, 12, 29), Date(2010, 5, 31)));
2968 Interval!Date(Date(1999, 3, 1), Date(2010, 5, 31)));
2970 Interval!Date(Date(2001, 3, 1), Date(2010, 5, 31)));
2972 Interval!Date(Date(2000, 12, 29), Date(2010, 5, 31)));
2975 Interval!Date(Date(1998, 12, 29), Date(2010, 5, 31)));
2977 Interval!Date(Date(1999, 2, 28), Date(2010, 5, 31)));
2979 Interval!Date(Date(2001, 2, 28), Date(2010, 5, 31)));
2981 Interval!Date(Date(2000, 12, 29), Date(2010, 5, 31)));
2984 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2985 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
2990 auto interval1 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
2991 auto interval2 = Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1));
2994 assert(interval1 == Interval!Date(Date(1994, 1, 2), Date(2014, 3, 1)));
2997 assert(interval2 == Interval!Date(Date(1998, 1, 2), Date(2010, 3, 1)));
3006 auto interval = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 21));
3008 static void testInterval1(Interval!Date interval)
3010 interval.fwdRange(everyDayOfWeek!Date(DayOfWeek.fri));
3013 … assertThrown!DateTimeException(testInterval1(Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
3015 static void testInterval2(Interval!Date interval)
3017 interval.fwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri)).popFront();
3022 assert(!interval.fwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).empty);
3023 assert(interval.fwdRange(everyDayOfWeek!Date(DayOfWeek.fri), PopFirst.yes).empty);
3025 …assert(Interval!Date(Date(2010, 9, 12), Date(2010, 10, 1)).fwdRange(everyDayOfWeek!Date(DayOfWeek.…
3026 Date(2010, 9, 12));
3028 assert(Interval!Date(Date(2010, 9, 12), Date(2010, 10, 1)).fwdRange(
3029 everyDayOfWeek!Date(DayOfWeek.fri), PopFirst.yes).front == Date(2010, 9, 17));
3034 auto interval = Interval!Date(Date(2010, 9, 1), Date(2010, 9, 9));
3035 auto func = delegate (scope const Date date) in delegate()
3044 assert(range.front == Date(2010, 9, 1));
3047 assert(range.front == Date(2010, 9, 2));
3050 assert(range.front == Date(2010, 9, 4));
3053 assert(range.front == Date(2010, 9, 6));
3056 assert(range.front == Date(2010, 9, 8));
3062 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
3063 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
3064 assert(!cInterval.fwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).empty);
3065 assert(!iInterval.fwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).empty);
3074 auto interval = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 21));
3076 static void testInterval1(Interval!Date interval)
3078 interval.bwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri));
3081 … assertThrown!DateTimeException(testInterval1(Interval!Date(Date(2010, 7, 4), dur!"days"(0))));
3083 static void testInterval2(Interval!Date interval)
3085 interval.bwdRange(everyDayOfWeek!(Date, Direction.fwd)(DayOfWeek.fri)).popFront();
3090 assert(!interval.bwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri)).empty);
3091 …assert(interval.bwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri), PopFirst.yes).empty);
3093 assert(Interval!Date(Date(2010, 9, 19), Date(2010, 10, 1)).bwdRange(
3094 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri)).front == Date(2010, 10, 1));
3096 assert(Interval!Date(Date(2010, 9, 19), Date(2010, 10, 1)).bwdRange(
3097 … everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri), PopFirst.yes).front == Date(2010, 9, 24));
3102 auto interval = Interval!Date(Date(2010, 9, 1), Date(2010, 9, 9));
3103 auto func = delegate (scope const Date date) in delegate()
3112 assert(range.front == Date(2010, 9, 9));
3115 assert(range.front == Date(2010, 9, 8));
3118 assert(range.front == Date(2010, 9, 6));
3121 assert(range.front == Date(2010, 9, 4));
3124 assert(range.front == Date(2010, 9, 2));
3130 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
3131 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
3132 assert(!cInterval.bwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).empty);
3133 assert(!iInterval.bwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).empty);
3141 …assert(Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).toString() == "[2010-Jul-04 - 2012-Jan-07…
3143 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
3144 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
3167 auto interval = PosInfInterval!Date(Date(1996, 1, 2)); in PosInfInterval()
3203 assert(PosInfInterval!Date(Date(1996, 1, 2)).begin == Date(1996, 1, 2)); in PosInfInterval()
4181 PosInfInterval!Date(Date.init);
4187 auto interval = PosInfInterval!Date(Date(1996, 1, 2));
4195 assert(PosInfInterval!Date(Date(1, 1, 1)).begin == Date(1, 1, 1));
4196 assert(PosInfInterval!Date(Date(2010, 1, 1)).begin == Date(2010, 1, 1));
4197 assert(PosInfInterval!Date(Date(1997, 12, 31)).begin == Date(1997, 12, 31));
4199 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4200 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4201 assert(cPosInfInterval.begin != Date.init);
4202 assert(iPosInfInterval.begin != Date.init);
4205 assert(PosInfInterval!Date(Date(1996, 1, 2)).begin == Date(1996, 1, 2));
4214 assert(!PosInfInterval!Date(Date(2010, 1, 1)).empty);
4219 const cPosInfInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4220 immutable iPosInfInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4225 assert(!PosInfInterval!Date(Date(1996, 1, 2)).empty);
4233 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4235 assert(!posInfInterval.contains(Date(2009, 7, 4)));
4236 assert(!posInfInterval.contains(Date(2010, 7, 3)));
4237 assert(posInfInterval.contains(Date(2010, 7, 4)));
4238 assert(posInfInterval.contains(Date(2010, 7, 5)));
4239 assert(posInfInterval.contains(Date(2011, 7, 1)));
4240 assert(posInfInterval.contains(Date(2012, 1, 6)));
4241 assert(posInfInterval.contains(Date(2012, 1, 7)));
4242 assert(posInfInterval.contains(Date(2012, 1, 8)));
4243 assert(posInfInterval.contains(Date(2013, 1, 7)));
4245 const cdate = Date(2010, 7, 6);
4246 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4247 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4253 assert(!PosInfInterval!Date(Date(1996, 1, 2)).contains(Date(1994, 12, 24)));
4254 assert(PosInfInterval!Date(Date(1996, 1, 2)).contains(Date(2000, 1, 5)));
4262 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4264 …static void testInterval(scope const PosInfInterval!Date posInfInterval, scope const Interval!Date…
4269 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
4272 assert(!posInfInterval.contains(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
4273 assert(!posInfInterval.contains(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
4274 assert(!posInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
4275 assert(!posInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
4276 assert(!posInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
4277 assert(!posInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
4278 assert(posInfInterval.contains(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
4279 assert(posInfInterval.contains(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
4280 assert(posInfInterval.contains(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
4281 assert(posInfInterval.contains(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
4282 assert(posInfInterval.contains(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
4283 assert(posInfInterval.contains(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
4285 assert(!posInfInterval.contains(PosInfInterval!Date(Date(2010, 7, 3))));
4286 assert(posInfInterval.contains(PosInfInterval!Date(Date(2010, 7, 4))));
4287 assert(posInfInterval.contains(PosInfInterval!Date(Date(2010, 7, 5))));
4288 assert(posInfInterval.contains(PosInfInterval!Date(Date(2012, 1, 6))));
4289 assert(posInfInterval.contains(PosInfInterval!Date(Date(2012, 1, 7))));
4290 assert(posInfInterval.contains(PosInfInterval!Date(Date(2012, 1, 8))));
4292 assert(PosInfInterval!Date(Date(2010, 7, 3)).contains(posInfInterval));
4293 assert(PosInfInterval!Date(Date(2010, 7, 4)).contains(posInfInterval));
4294 assert(!PosInfInterval!Date(Date(2010, 7, 5)).contains(posInfInterval));
4295 assert(!PosInfInterval!Date(Date(2012, 1, 6)).contains(posInfInterval));
4296 assert(!PosInfInterval!Date(Date(2012, 1, 7)).contains(posInfInterval));
4297 assert(!PosInfInterval!Date(Date(2012, 1, 8)).contains(posInfInterval));
4299 assert(!posInfInterval.contains(NegInfInterval!Date(Date(2010, 7, 3))));
4300 assert(!posInfInterval.contains(NegInfInterval!Date(Date(2010, 7, 4))));
4301 assert(!posInfInterval.contains(NegInfInterval!Date(Date(2010, 7, 5))));
4302 assert(!posInfInterval.contains(NegInfInterval!Date(Date(2012, 1, 6))));
4303 assert(!posInfInterval.contains(NegInfInterval!Date(Date(2012, 1, 7))));
4304 assert(!posInfInterval.contains(NegInfInterval!Date(Date(2012, 1, 8))));
4306 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4307 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4308 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4309 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4310 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4311 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4312 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4313 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4343 …assert(!PosInfInterval!Date(Date(1996, 1, 2)).contains(Interval!Date(Date(1990, 7, 6), Date(2000, …
4344 …assert(PosInfInterval!Date(Date(1996, 1, 2)).contains(Interval!Date(Date(1999, 1, 12), Date(2011, …
4345 …assert(PosInfInterval!Date(Date(1996, 1, 2)).contains(Interval!Date(Date(1998, 2, 28), Date(2013, …
4347 assert(PosInfInterval!Date(Date(1996, 1, 2)).contains(PosInfInterval!Date(Date(1999, 5, 4))));
4348 assert(!PosInfInterval!Date(Date(1996, 1, 2)).contains(PosInfInterval!Date(Date(1995, 7, 2))));
4350 assert(!PosInfInterval!Date(Date(1996, 1, 2)).contains(NegInfInterval!Date(Date(1996, 5, 4))));
4358 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4360 assert(!posInfInterval.isBefore(Date(2009, 7, 3)));
4361 assert(!posInfInterval.isBefore(Date(2010, 7, 3)));
4362 assert(!posInfInterval.isBefore(Date(2010, 7, 4)));
4363 assert(!posInfInterval.isBefore(Date(2010, 7, 5)));
4364 assert(!posInfInterval.isBefore(Date(2011, 7, 1)));
4365 assert(!posInfInterval.isBefore(Date(2012, 1, 6)));
4366 assert(!posInfInterval.isBefore(Date(2012, 1, 7)));
4367 assert(!posInfInterval.isBefore(Date(2012, 1, 8)));
4368 assert(!posInfInterval.isBefore(Date(2013, 1, 7)));
4370 const cdate = Date(2010, 7, 6);
4371 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4372 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4378 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isBefore(Date(1994, 12, 24)));
4379 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isBefore(Date(2000, 1, 5)));
4387 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4389 …static void testInterval(scope const PosInfInterval!Date posInfInterval, scope const Interval!Date…
4394 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
4397 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
4398 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
4399 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
4400 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
4401 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
4402 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
4403 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
4404 assert(!posInfInterval.isBefore(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
4405 assert(!posInfInterval.isBefore(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
4406 assert(!posInfInterval.isBefore(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
4407 assert(!posInfInterval.isBefore(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
4408 assert(!posInfInterval.isBefore(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
4410 assert(!posInfInterval.isBefore(PosInfInterval!Date(Date(2010, 7, 3))));
4411 assert(!posInfInterval.isBefore(PosInfInterval!Date(Date(2010, 7, 4))));
4412 assert(!posInfInterval.isBefore(PosInfInterval!Date(Date(2010, 7, 5))));
4413 assert(!posInfInterval.isBefore(PosInfInterval!Date(Date(2012, 1, 6))));
4414 assert(!posInfInterval.isBefore(PosInfInterval!Date(Date(2012, 1, 7))));
4415 assert(!posInfInterval.isBefore(PosInfInterval!Date(Date(2012, 1, 8))));
4417 assert(!PosInfInterval!Date(Date(2010, 7, 3)).isBefore(posInfInterval));
4418 assert(!PosInfInterval!Date(Date(2010, 7, 4)).isBefore(posInfInterval));
4419 assert(!PosInfInterval!Date(Date(2010, 7, 5)).isBefore(posInfInterval));
4420 assert(!PosInfInterval!Date(Date(2012, 1, 6)).isBefore(posInfInterval));
4421 assert(!PosInfInterval!Date(Date(2012, 1, 7)).isBefore(posInfInterval));
4422 assert(!PosInfInterval!Date(Date(2012, 1, 8)).isBefore(posInfInterval));
4424 assert(!posInfInterval.isBefore(NegInfInterval!Date(Date(2010, 7, 3))));
4425 assert(!posInfInterval.isBefore(NegInfInterval!Date(Date(2010, 7, 4))));
4426 assert(!posInfInterval.isBefore(NegInfInterval!Date(Date(2010, 7, 5))));
4427 assert(!posInfInterval.isBefore(NegInfInterval!Date(Date(2012, 1, 6))));
4428 assert(!posInfInterval.isBefore(NegInfInterval!Date(Date(2012, 1, 7))));
4429 assert(!posInfInterval.isBefore(NegInfInterval!Date(Date(2012, 1, 8))));
4431 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4432 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4433 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4434 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4435 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4436 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4437 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4438 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4468 …assert(!PosInfInterval!Date(Date(1996, 1, 2)).isBefore(Interval!Date(Date(1990, 7, 6), Date(2000, …
4469 …assert(!PosInfInterval!Date(Date(1996, 1, 2)).isBefore(Interval!Date(Date(1999, 1, 12), Date(2011,…
4471 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isBefore(PosInfInterval!Date(Date(1992, 5, 4))));
4472 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isBefore(PosInfInterval!Date(Date(2013, 3, 7))));
4474 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isBefore(NegInfInterval!Date(Date(1996, 5, 4))));
4482 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4484 assert(posInfInterval.isAfter(Date(2009, 7, 3)));
4485 assert(posInfInterval.isAfter(Date(2010, 7, 3)));
4486 assert(!posInfInterval.isAfter(Date(2010, 7, 4)));
4487 assert(!posInfInterval.isAfter(Date(2010, 7, 5)));
4488 assert(!posInfInterval.isAfter(Date(2011, 7, 1)));
4489 assert(!posInfInterval.isAfter(Date(2012, 1, 6)));
4490 assert(!posInfInterval.isAfter(Date(2012, 1, 7)));
4491 assert(!posInfInterval.isAfter(Date(2012, 1, 8)));
4492 assert(!posInfInterval.isAfter(Date(2013, 1, 7)));
4494 const cdate = Date(2010, 7, 6);
4495 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4496 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4502 assert(PosInfInterval!Date(Date(1996, 1, 2)).isAfter(Date(1994, 12, 24)));
4503 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAfter(Date(2000, 1, 5)));
4511 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4513 …static void testInterval(scope const PosInfInterval!Date posInfInterval, scope const Interval!Date…
4518 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
4521 assert(posInfInterval.isAfter(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
4522 assert(!posInfInterval.isAfter(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
4523 assert(posInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
4524 assert(!posInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
4525 assert(!posInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
4526 assert(!posInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
4527 assert(!posInfInterval.isAfter(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
4528 assert(!posInfInterval.isAfter(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
4529 assert(!posInfInterval.isAfter(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
4530 assert(!posInfInterval.isAfter(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
4531 assert(!posInfInterval.isAfter(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
4532 assert(!posInfInterval.isAfter(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
4534 assert(!posInfInterval.isAfter(PosInfInterval!Date(Date(2010, 7, 3))));
4535 assert(!posInfInterval.isAfter(PosInfInterval!Date(Date(2010, 7, 4))));
4536 assert(!posInfInterval.isAfter(PosInfInterval!Date(Date(2010, 7, 5))));
4537 assert(!posInfInterval.isAfter(PosInfInterval!Date(Date(2012, 1, 6))));
4538 assert(!posInfInterval.isAfter(PosInfInterval!Date(Date(2012, 1, 7))));
4539 assert(!posInfInterval.isAfter(PosInfInterval!Date(Date(2012, 1, 8))));
4541 assert(!PosInfInterval!Date(Date(2010, 7, 3)).isAfter(posInfInterval));
4542 assert(!PosInfInterval!Date(Date(2010, 7, 4)).isAfter(posInfInterval));
4543 assert(!PosInfInterval!Date(Date(2010, 7, 5)).isAfter(posInfInterval));
4544 assert(!PosInfInterval!Date(Date(2012, 1, 6)).isAfter(posInfInterval));
4545 assert(!PosInfInterval!Date(Date(2012, 1, 7)).isAfter(posInfInterval));
4546 assert(!PosInfInterval!Date(Date(2012, 1, 8)).isAfter(posInfInterval));
4548 assert(posInfInterval.isAfter(NegInfInterval!Date(Date(2010, 7, 3))));
4549 assert(posInfInterval.isAfter(NegInfInterval!Date(Date(2010, 7, 4))));
4550 assert(!posInfInterval.isAfter(NegInfInterval!Date(Date(2010, 7, 5))));
4551 assert(!posInfInterval.isAfter(NegInfInterval!Date(Date(2012, 1, 6))));
4552 assert(!posInfInterval.isAfter(NegInfInterval!Date(Date(2012, 1, 7))));
4553 assert(!posInfInterval.isAfter(NegInfInterval!Date(Date(2012, 1, 8))));
4555 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4556 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4557 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4558 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4559 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4560 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4561 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4562 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4592 …assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAfter(Interval!Date(Date(1990, 7, 6), Date(2000, 8…
4593 …assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAfter(Interval!Date(Date(1999, 1, 12), Date(2011, …
4594 …assert(PosInfInterval!Date(Date(1996, 1, 2)).isAfter(Interval!Date(Date(1989, 3, 1), Date(1996, 1,…
4596 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAfter(PosInfInterval!Date(Date(1990, 1, 7))));
4597 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAfter(PosInfInterval!Date(Date(1999, 5, 4))));
4599 assert(PosInfInterval!Date(Date(1996, 1, 2)).isAfter(NegInfInterval!Date(Date(1996, 1, 2))));
4600 assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAfter(NegInfInterval!Date(Date(2000, 7, 1))));
4608 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4610 …static void testInterval(scope const PosInfInterval!Date posInfInterval, scope const Interval!Date…
4615 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
4618 assert(!posInfInterval.intersects(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
4619 assert(posInfInterval.intersects(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
4620 assert(!posInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
4621 assert(posInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
4622 assert(posInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
4623 assert(posInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
4624 assert(posInfInterval.intersects(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
4625 assert(posInfInterval.intersects(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
4626 assert(posInfInterval.intersects(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
4627 assert(posInfInterval.intersects(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
4628 assert(posInfInterval.intersects(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
4629 assert(posInfInterval.intersects(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
4631 assert(posInfInterval.intersects(PosInfInterval!Date(Date(2010, 7, 3))));
4632 assert(posInfInterval.intersects(PosInfInterval!Date(Date(2010, 7, 4))));
4633 assert(posInfInterval.intersects(PosInfInterval!Date(Date(2010, 7, 5))));
4634 assert(posInfInterval.intersects(PosInfInterval!Date(Date(2012, 1, 6))));
4635 assert(posInfInterval.intersects(PosInfInterval!Date(Date(2012, 1, 7))));
4636 assert(posInfInterval.intersects(PosInfInterval!Date(Date(2012, 1, 8))));
4638 assert(PosInfInterval!Date(Date(2010, 7, 3)).intersects(posInfInterval));
4639 assert(PosInfInterval!Date(Date(2010, 7, 4)).intersects(posInfInterval));
4640 assert(PosInfInterval!Date(Date(2010, 7, 5)).intersects(posInfInterval));
4641 assert(PosInfInterval!Date(Date(2012, 1, 6)).intersects(posInfInterval));
4642 assert(PosInfInterval!Date(Date(2012, 1, 7)).intersects(posInfInterval));
4643 assert(PosInfInterval!Date(Date(2012, 1, 8)).intersects(posInfInterval));
4645 assert(!posInfInterval.intersects(NegInfInterval!Date(Date(2010, 7, 3))));
4646 assert(!posInfInterval.intersects(NegInfInterval!Date(Date(2010, 7, 4))));
4647 assert(posInfInterval.intersects(NegInfInterval!Date(Date(2010, 7, 5))));
4648 assert(posInfInterval.intersects(NegInfInterval!Date(Date(2012, 1, 6))));
4649 assert(posInfInterval.intersects(NegInfInterval!Date(Date(2012, 1, 7))));
4650 assert(posInfInterval.intersects(NegInfInterval!Date(Date(2012, 1, 8))));
4652 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4653 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4654 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4655 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4656 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4657 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4658 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4659 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4689 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersects(Interval!Date(Date(1990, 7, 6), Date(2000,…
4690 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersects(Interval!Date(Date(1999, 1, 12), Date(2011…
4691 …assert(!PosInfInterval!Date(Date(1996, 1, 2)).intersects(Interval!Date(Date(1989, 3, 1), Date(1996…
4693 assert(PosInfInterval!Date(Date(1996, 1, 2)).intersects(PosInfInterval!Date(Date(1990, 1, 7))));
4694 assert(PosInfInterval!Date(Date(1996, 1, 2)).intersects(PosInfInterval!Date(Date(1999, 5, 4))));
4696 … assert(!PosInfInterval!Date(Date(1996, 1, 2)).intersects(NegInfInterval!Date(Date(1996, 1, 2))));
4697 assert(PosInfInterval!Date(Date(1996, 1, 2)).intersects(NegInfInterval!Date(Date(2000, 7, 1))));
4705 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4712 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
4714 …Thrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 1), Date(2010, 7…
4715 …Thrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 3), Date(2010, 7…
4717 …assertThrown!DateTimeException(testInterval(posInfInterval, NegInfInterval!Date(Date(2010, 7, 3)))…
4718 …assertThrown!DateTimeException(testInterval(posInfInterval, NegInfInterval!Date(Date(2010, 7, 4)))…
4721 assert(posInfInterval.intersection(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
4722 Interval!Date(Date(2010, 7, 4), Date(2013, 7, 3)));
4723 assert(posInfInterval.intersection(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
4724 Interval!Date(Date(2010, 7, 4), Date(2010, 7, 5)));
4725 assert(posInfInterval.intersection(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
4726 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
4727 assert(posInfInterval.intersection(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
4728 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
4729 assert(posInfInterval.intersection(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
4730 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)));
4731 assert(posInfInterval.intersection(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
4732 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)));
4733 assert(posInfInterval.intersection(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
4734 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
4735 assert(posInfInterval.intersection(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
4736 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8)));
4737 assert(posInfInterval.intersection(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))) ==
4738 Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8)));
4739 assert(posInfInterval.intersection(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))) ==
4740 Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9)));
4742 …assert(posInfInterval.intersection(PosInfInterval!Date(Date(2010, 7, 3))) == PosInfInterval!Date(D…
4743 …assert(posInfInterval.intersection(PosInfInterval!Date(Date(2010, 7, 4))) == PosInfInterval!Date(D…
4744 …assert(posInfInterval.intersection(PosInfInterval!Date(Date(2010, 7, 5))) == PosInfInterval!Date(D…
4745 …assert(posInfInterval.intersection(PosInfInterval!Date(Date(2012, 1, 6))) == PosInfInterval!Date(D…
4746 …assert(posInfInterval.intersection(PosInfInterval!Date(Date(2012, 1, 7))) == PosInfInterval!Date(D…
4747 …assert(posInfInterval.intersection(PosInfInterval!Date(Date(2012, 1, 8))) == PosInfInterval!Date(D…
4749 …assert(PosInfInterval!Date(Date(2010, 7, 3)).intersection(posInfInterval) == PosInfInterval!Date(D…
4750 …assert(PosInfInterval!Date(Date(2010, 7, 4)).intersection(posInfInterval) == PosInfInterval!Date(D…
4751 …assert(PosInfInterval!Date(Date(2010, 7, 5)).intersection(posInfInterval) == PosInfInterval!Date(D…
4752 …assert(PosInfInterval!Date(Date(2012, 1, 6)).intersection(posInfInterval) == PosInfInterval!Date(D…
4753 …assert(PosInfInterval!Date(Date(2012, 1, 7)).intersection(posInfInterval) == PosInfInterval!Date(D…
4754 …assert(PosInfInterval!Date(Date(2012, 1, 8)).intersection(posInfInterval) == PosInfInterval!Date(D…
4756 assert(posInfInterval.intersection(NegInfInterval!Date(Date(2010, 7, 5))) ==
4757 Interval!Date(Date(2010, 7, 4), Date(2010, 7, 5)));
4758 assert(posInfInterval.intersection(NegInfInterval!Date(Date(2012, 1, 6))) ==
4759 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 6)));
4760 assert(posInfInterval.intersection(NegInfInterval!Date(Date(2012, 1, 7))) ==
4761 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)));
4762 assert(posInfInterval.intersection(NegInfInterval!Date(Date(2012, 1, 8))) ==
4763 Interval!Date(Date(2010, 7, 4), Date(2012, 1, 8)));
4765 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4766 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4767 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4768 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4769 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4770 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4771 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4772 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4802 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersection(Interval!Date(Date(1990, 7, 6), Date(200…
4803 Interval!Date(Date(1996, 1, 2), Date(2000, 8, 2)));
4804 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersection(Interval!Date(Date(1999, 1, 12), Date(20…
4805 Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17)));
4807 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersection(PosInfInterval!Date(Date(1990, 7, 6))) ==
4808 PosInfInterval!Date(Date(1996, 1, 2)));
4809 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersection(PosInfInterval!Date(Date(1999, 1, 12))) …
4810 PosInfInterval!Date(Date(1999, 1, 12)));
4812 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersection(NegInfInterval!Date(Date(1999, 7, 6))) ==
4813 Interval!Date(Date(1996, 1, 2), Date(1999, 7, 6)));
4814 …assert(PosInfInterval!Date(Date(1996, 1, 2)).intersection(NegInfInterval!Date(Date(2013, 1, 12))) …
4815 Interval!Date(Date(1996, 1, 2), Date(2013, 1, 12)));
4823 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4825 …static void testInterval(scope const PosInfInterval!Date posInfInterval, scope const Interval!Date…
4830 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
4833 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
4834 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
4835 assert(posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
4836 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
4837 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
4838 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
4839 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
4840 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
4841 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
4842 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
4843 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
4844 assert(!posInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
4846 assert(!posInfInterval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 3))));
4847 assert(!posInfInterval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 4))));
4848 assert(!posInfInterval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 5))));
4849 assert(!posInfInterval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 6))));
4850 assert(!posInfInterval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 7))));
4851 assert(!posInfInterval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 8))));
4853 assert(!PosInfInterval!Date(Date(2010, 7, 3)).isAdjacent(posInfInterval));
4854 assert(!PosInfInterval!Date(Date(2010, 7, 4)).isAdjacent(posInfInterval));
4855 assert(!PosInfInterval!Date(Date(2010, 7, 5)).isAdjacent(posInfInterval));
4856 assert(!PosInfInterval!Date(Date(2012, 1, 6)).isAdjacent(posInfInterval));
4857 assert(!PosInfInterval!Date(Date(2012, 1, 7)).isAdjacent(posInfInterval));
4858 assert(!PosInfInterval!Date(Date(2012, 1, 8)).isAdjacent(posInfInterval));
4860 assert(!posInfInterval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 3))));
4861 assert(posInfInterval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 4))));
4862 assert(!posInfInterval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 5))));
4863 assert(!posInfInterval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 6))));
4864 assert(!posInfInterval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 7))));
4865 assert(!posInfInterval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 8))));
4867 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4868 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4869 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4870 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4871 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4872 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4873 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4874 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4904 …assert(PosInfInterval!Date(Date(1996, 1, 2)).isAdjacent(Interval!Date(Date(1989, 3, 1), Date(1996,…
4905 …assert(!PosInfInterval!Date(Date(1999, 1, 12)).isAdjacent(Interval!Date(Date(1999, 1, 12), Date(20…
4907 … assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAdjacent(PosInfInterval!Date(Date(1990, 1, 7))));
4908 … assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAdjacent(PosInfInterval!Date(Date(1996, 1, 2))));
4910 assert(PosInfInterval!Date(Date(1996, 1, 2)).isAdjacent(NegInfInterval!Date(Date(1996, 1, 2))));
4911 … assert(!PosInfInterval!Date(Date(1996, 1, 2)).isAdjacent(NegInfInterval!Date(Date(2000, 7, 1))));
4919 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4921 …static void testInterval(scope const PosInfInterval!Date posInfInterval, scope const Interval!Date…
4926 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
4928 …Thrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 1), Date(2010, 7…
4931 assert(posInfInterval.merge(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
4932 PosInfInterval!Date(Date(2010, 7, 1)));
4933 assert(posInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))) ==
4934 PosInfInterval!Date(Date(2010, 7, 3)));
4935 assert(posInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
4936 PosInfInterval!Date(Date(2010, 7, 3)));
4937 assert(posInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
4938 PosInfInterval!Date(Date(2010, 7, 3)));
4939 assert(posInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
4940 PosInfInterval!Date(Date(2010, 7, 3)));
4941 assert(posInfInterval.merge(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
4942 PosInfInterval!Date(Date(2010, 7, 4)));
4943 assert(posInfInterval.merge(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
4944 PosInfInterval!Date(Date(2010, 7, 4)));
4945 assert(posInfInterval.merge(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
4946 PosInfInterval!Date(Date(2010, 7, 4)));
4947 assert(posInfInterval.merge(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
4948 PosInfInterval!Date(Date(2010, 7, 4)));
4949 assert(posInfInterval.merge(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))) ==
4950 PosInfInterval!Date(Date(2010, 7, 4)));
4951 assert(posInfInterval.merge(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))) ==
4952 PosInfInterval!Date(Date(2010, 7, 4)));
4954 …assert(posInfInterval.merge(PosInfInterval!Date(Date(2010, 7, 3))) == PosInfInterval!Date(Date(201…
4955 …assert(posInfInterval.merge(PosInfInterval!Date(Date(2010, 7, 4))) == PosInfInterval!Date(Date(201…
4956 …assert(posInfInterval.merge(PosInfInterval!Date(Date(2010, 7, 5))) == PosInfInterval!Date(Date(201…
4957 …assert(posInfInterval.merge(PosInfInterval!Date(Date(2012, 1, 6))) == PosInfInterval!Date(Date(201…
4958 …assert(posInfInterval.merge(PosInfInterval!Date(Date(2012, 1, 7))) == PosInfInterval!Date(Date(201…
4959 …assert(posInfInterval.merge(PosInfInterval!Date(Date(2012, 1, 8))) == PosInfInterval!Date(Date(201…
4961 …assert(PosInfInterval!Date(Date(2010, 7, 3)).merge(posInfInterval) == PosInfInterval!Date(Date(201…
4962 …assert(PosInfInterval!Date(Date(2010, 7, 4)).merge(posInfInterval) == PosInfInterval!Date(Date(201…
4963 …assert(PosInfInterval!Date(Date(2010, 7, 5)).merge(posInfInterval) == PosInfInterval!Date(Date(201…
4964 …assert(PosInfInterval!Date(Date(2012, 1, 6)).merge(posInfInterval) == PosInfInterval!Date(Date(201…
4965 …assert(PosInfInterval!Date(Date(2012, 1, 7)).merge(posInfInterval) == PosInfInterval!Date(Date(201…
4966 …assert(PosInfInterval!Date(Date(2012, 1, 8)).merge(posInfInterval) == PosInfInterval!Date(Date(201…
4968 static assert(!__traits(compiles, posInfInterval.merge(NegInfInterval!Date(Date(2010, 7, 3)))));
4969 static assert(!__traits(compiles, posInfInterval.merge(NegInfInterval!Date(Date(2010, 7, 4)))));
4970 static assert(!__traits(compiles, posInfInterval.merge(NegInfInterval!Date(Date(2010, 7, 5)))));
4971 static assert(!__traits(compiles, posInfInterval.merge(NegInfInterval!Date(Date(2012, 1, 6)))));
4972 static assert(!__traits(compiles, posInfInterval.merge(NegInfInterval!Date(Date(2012, 1, 7)))));
4973 static assert(!__traits(compiles, posInfInterval.merge(NegInfInterval!Date(Date(2012, 1, 8)))));
4975 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4976 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4977 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
4978 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4979 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
4980 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4981 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
4982 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
5012 …assert(PosInfInterval!Date(Date(1996, 1, 2)).merge(Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2…
5013 PosInfInterval!Date(Date(1990, 7, 6)));
5014 …assert(PosInfInterval!Date(Date(1996, 1, 2)).merge(Interval!Date(Date(1999, 1, 12), Date(2011, 9, …
5015 PosInfInterval!Date(Date(1996, 1, 2)));
5017 assert(PosInfInterval!Date(Date(1996, 1, 2)).merge(PosInfInterval!Date(Date(1990, 7, 6))) ==
5018 PosInfInterval!Date(Date(1990, 7, 6)));
5019 assert(PosInfInterval!Date(Date(1996, 1, 2)).merge(PosInfInterval!Date(Date(1999, 1, 12))) ==
5020 PosInfInterval!Date(Date(1996, 1, 2)));
5028 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5030 …static void testInterval(scope const PosInfInterval!Date posInfInterval, scope const Interval!Date…
5035 …assertThrown!DateTimeException(testInterval(posInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
5038 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))) ==
5039 PosInfInterval!Date(Date(2010, 7, 1)));
5040 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
5041 PosInfInterval!Date(Date(2010, 7, 1)));
5042 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))) ==
5043 PosInfInterval!Date(Date(2010, 7, 3)));
5044 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
5045 PosInfInterval!Date(Date(2010, 7, 3)));
5046 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
5047 PosInfInterval!Date(Date(2010, 7, 3)));
5048 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
5049 PosInfInterval!Date(Date(2010, 7, 3)));
5050 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
5051 PosInfInterval!Date(Date(2010, 7, 4)));
5052 assert(posInfInterval.span(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
5053 PosInfInterval!Date(Date(2010, 7, 4)));
5054 assert(posInfInterval.span(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
5055 PosInfInterval!Date(Date(2010, 7, 4)));
5056 assert(posInfInterval.span(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
5057 PosInfInterval!Date(Date(2010, 7, 4)));
5058 assert(posInfInterval.span(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))) ==
5059 PosInfInterval!Date(Date(2010, 7, 4)));
5060 assert(posInfInterval.span(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))) ==
5061 PosInfInterval!Date(Date(2010, 7, 4)));
5063 …assert(posInfInterval.span(PosInfInterval!Date(Date(2010, 7, 3))) == PosInfInterval!Date(Date(2010…
5064 …assert(posInfInterval.span(PosInfInterval!Date(Date(2010, 7, 4))) == PosInfInterval!Date(Date(2010…
5065 …assert(posInfInterval.span(PosInfInterval!Date(Date(2010, 7, 5))) == PosInfInterval!Date(Date(2010…
5066 …assert(posInfInterval.span(PosInfInterval!Date(Date(2012, 1, 6))) == PosInfInterval!Date(Date(2010…
5067 …assert(posInfInterval.span(PosInfInterval!Date(Date(2012, 1, 7))) == PosInfInterval!Date(Date(2010…
5068 …assert(posInfInterval.span(PosInfInterval!Date(Date(2012, 1, 8))) == PosInfInterval!Date(Date(2010…
5070 …assert(PosInfInterval!Date(Date(2010, 7, 3)).span(posInfInterval) == PosInfInterval!Date(Date(2010…
5071 …assert(PosInfInterval!Date(Date(2010, 7, 4)).span(posInfInterval) == PosInfInterval!Date(Date(2010…
5072 …assert(PosInfInterval!Date(Date(2010, 7, 5)).span(posInfInterval) == PosInfInterval!Date(Date(2010…
5073 …assert(PosInfInterval!Date(Date(2012, 1, 6)).span(posInfInterval) == PosInfInterval!Date(Date(2010…
5074 …assert(PosInfInterval!Date(Date(2012, 1, 7)).span(posInfInterval) == PosInfInterval!Date(Date(2010…
5075 …assert(PosInfInterval!Date(Date(2012, 1, 8)).span(posInfInterval) == PosInfInterval!Date(Date(2010…
5077 static assert(!__traits(compiles, posInfInterval.span(NegInfInterval!Date(Date(2010, 7, 3)))));
5078 static assert(!__traits(compiles, posInfInterval.span(NegInfInterval!Date(Date(2010, 7, 4)))));
5079 static assert(!__traits(compiles, posInfInterval.span(NegInfInterval!Date(Date(2010, 7, 5)))));
5080 static assert(!__traits(compiles, posInfInterval.span(NegInfInterval!Date(Date(2012, 1, 6)))));
5081 static assert(!__traits(compiles, posInfInterval.span(NegInfInterval!Date(Date(2012, 1, 7)))));
5082 static assert(!__traits(compiles, posInfInterval.span(NegInfInterval!Date(Date(2012, 1, 8)))));
5084 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
5085 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
5086 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
5087 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5088 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5089 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
5090 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
5091 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
5121 …assert(PosInfInterval!Date(Date(1996, 1, 2)).span(Interval!Date(Date(500, 8, 9), Date(1602, 1, 31)…
5122 PosInfInterval!Date(Date(500, 8, 9)));
5123 …assert(PosInfInterval!Date(Date(1996, 1, 2)).span(Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2)…
5124 PosInfInterval!Date(Date(1990, 7, 6)));
5125 …assert(PosInfInterval!Date(Date(1996, 1, 2)).span(Interval!Date(Date(1999, 1, 12), Date(2011, 9, 1…
5126 PosInfInterval!Date(Date(1996, 1, 2)));
5128 assert(PosInfInterval!Date(Date(1996, 1, 2)).span(PosInfInterval!Date(Date(1990, 7, 6))) ==
5129 PosInfInterval!Date(Date(1990, 7, 6)));
5130 assert(PosInfInterval!Date(Date(1996, 1, 2)).span(PosInfInterval!Date(Date(1999, 1, 12))) ==
5131 PosInfInterval!Date(Date(1996, 1, 2)));
5139 auto interval = PosInfInterval!Date(Date(2010, 7, 4));
5148 testInterval(interval, dur!"days"(22), PosInfInterval!Date(Date(2010, 7, 26)));
5149 testInterval(interval, dur!"days"(-22), PosInfInterval!Date(Date(2010, 6, 12)));
5151 const cInterval = PosInfInterval!Date(Date(2010, 7, 4));
5152 immutable iInterval = PosInfInterval!Date(Date(2010, 7, 4));
5157 auto interval1 = PosInfInterval!Date(Date(1996, 1, 2));
5158 auto interval2 = PosInfInterval!Date(Date(1996, 1, 2));
5161 assert(interval1 == PosInfInterval!Date(Date(1996, 2, 21)));
5164 assert(interval2 == PosInfInterval!Date(Date(1995, 11, 13)));
5173 auto interval = PosInfInterval!Date(Date(2010, 7, 4));
5182 testInterval(interval, 5, 0, AllowDayOverflow.yes, PosInfInterval!Date(Date(2015, 7, 4)));
5183 testInterval(interval, -5, 0, AllowDayOverflow.yes, PosInfInterval!Date(Date(2005, 7, 4)));
5185 auto interval2 = PosInfInterval!Date(Date(2000, 1, 29));
5187 testInterval(interval2, 1, 1, AllowDayOverflow.yes, PosInfInterval!Date(Date(2001, 3, 1)));
5188 … testInterval(interval2, 1, -1, AllowDayOverflow.yes, PosInfInterval!Date(Date(2000, 12, 29)));
5189 … testInterval(interval2, -1, -1, AllowDayOverflow.yes, PosInfInterval!Date(Date(1998, 12, 29)));
5190 testInterval(interval2, -1, 1, AllowDayOverflow.yes, PosInfInterval!Date(Date(1999, 3, 1)));
5192 testInterval(interval2, 1, 1, AllowDayOverflow.no, PosInfInterval!Date(Date(2001, 2, 28)));
5193 … testInterval(interval2, 1, -1, AllowDayOverflow.no, PosInfInterval!Date(Date(2000, 12, 29)));
5194 … testInterval(interval2, -1, -1, AllowDayOverflow.no, PosInfInterval!Date(Date(1998, 12, 29)));
5195 testInterval(interval2, -1, 1, AllowDayOverflow.no, PosInfInterval!Date(Date(1999, 2, 28)));
5198 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5199 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5204 auto interval1 = PosInfInterval!Date(Date(1996, 1, 2));
5205 auto interval2 = PosInfInterval!Date(Date(1996, 1, 2));
5208 assert(interval1 == PosInfInterval!Date(Date(1998, 1, 2)));
5211 assert(interval2 == PosInfInterval!Date(Date(1994, 1, 2)));
5219 auto interval = PosInfInterval!Date(Date(2000, 7, 4));
5228 testInterval(interval, dur!"days"(22), PosInfInterval!Date(Date(2000, 6, 12)));
5229 testInterval(interval, dur!"days"(-22), PosInfInterval!Date(Date(2000, 7, 26)));
5231 const cInterval = PosInfInterval!Date(Date(2010, 7, 4));
5232 immutable iInterval = PosInfInterval!Date(Date(2010, 7, 4));
5237 auto interval1 = PosInfInterval!Date(Date(1996, 1, 2));
5238 auto interval2 = PosInfInterval!Date(Date(1996, 1, 2));
5241 assert(interval1 == PosInfInterval!Date(Date(1995, 12, 31)));
5244 assert(interval2 == PosInfInterval!Date(Date(1996, 1, 4)));
5253 auto interval = PosInfInterval!Date(Date(2000, 7, 4));
5262 testInterval(interval, 5, 0, AllowDayOverflow.yes, PosInfInterval!Date(Date(1995, 7, 4)));
5263 testInterval(interval, -5, 0, AllowDayOverflow.yes, PosInfInterval!Date(Date(2005, 7, 4)));
5265 auto interval2 = PosInfInterval!Date(Date(2000, 1, 29));
5267 … testInterval(interval2, 1, 1, AllowDayOverflow.yes, PosInfInterval!Date(Date(1998, 12, 29)));
5268 testInterval(interval2, 1, -1, AllowDayOverflow.yes, PosInfInterval!Date(Date(1999, 3, 1)));
5269 … testInterval(interval2, -1, -1, AllowDayOverflow.yes, PosInfInterval!Date(Date(2001, 3, 1)));
5270 … testInterval(interval2, -1, 1, AllowDayOverflow.yes, PosInfInterval!Date(Date(2000, 12, 29)));
5272 testInterval(interval2, 1, 1, AllowDayOverflow.no, PosInfInterval!Date(Date(1998, 12, 29)));
5273 testInterval(interval2, 1, -1, AllowDayOverflow.no, PosInfInterval!Date(Date(1999, 2, 28)));
5274 … testInterval(interval2, -1, -1, AllowDayOverflow.no, PosInfInterval!Date(Date(2001, 2, 28)));
5275 … testInterval(interval2, -1, 1, AllowDayOverflow.no, PosInfInterval!Date(Date(2000, 12, 29)));
5278 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5279 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5284 auto interval1 = PosInfInterval!Date(Date(1996, 1, 2));
5285 auto interval2 = PosInfInterval!Date(Date(1996, 1, 2));
5288 assert(interval1 == PosInfInterval!Date(Date(1994, 1, 2)));
5291 assert(interval2 == PosInfInterval!Date(Date(1998, 1, 2)));
5299 auto posInfInterval = PosInfInterval!Date(Date(2010, 9, 19));
5301 static void testInterval(PosInfInterval!Date posInfInterval)
5303 posInfInterval.fwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri)).popFront();
5308 …assert(PosInfInterval!Date(Date(2010, 9, 12)).fwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).front ==
5309 Date(2010, 9, 12));
5311 …assert(PosInfInterval!Date(Date(2010, 9, 12)).fwdRange(everyDayOfWeek!Date(DayOfWeek.fri), PopFirs…
5312 Date(2010, 9, 17));
5315 auto interval = PosInfInterval!Date(Date(2010, 9, 1));
5316 auto func = delegate (scope const Date date) in delegate()
5324 …assert(range.front == Date(2010, 9, 1)); //An odd day. Using PopFirst.yes would have made this Dat…
5327 assert(range.front == Date(2010, 9, 2));
5330 assert(range.front == Date(2010, 9, 4));
5333 assert(range.front == Date(2010, 9, 6));
5336 assert(range.front == Date(2010, 9, 8));
5341 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5342 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5343 assert(!cPosInfInterval.fwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).empty);
5344 assert(!iPosInfInterval.fwdRange(everyDayOfWeek!Date(DayOfWeek.fri)).empty);
5351 assert(PosInfInterval!Date(Date(2010, 7, 4)).toString() == "[2010-Jul-04 - ∞)");
5353 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5354 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
5379 auto interval = PosInfInterval!Date(Date(1996, 1, 2)); in NegInfInterval()
5415 assert(NegInfInterval!Date(Date(2012, 3, 1)).end == Date(2012, 3, 1)); in NegInfInterval()
6405 NegInfInterval!Date(Date.init);
6416 assert(NegInfInterval!Date(Date(2010, 1, 1)).end == Date(2010, 1, 1));
6417 assert(NegInfInterval!Date(Date(2010, 1, 1)).end == Date(2010, 1, 1));
6418 assert(NegInfInterval!Date(Date(1998, 1, 1)).end == Date(1998, 1, 1));
6420 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6421 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6422 assert(cNegInfInterval.end != Date.init);
6423 assert(iNegInfInterval.end != Date.init);
6426 assert(NegInfInterval!Date(Date(2012, 3, 1)).end == Date(2012, 3, 1));
6435 assert(!NegInfInterval!Date(Date(2010, 1, 1)).empty);
6440 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6441 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6446 assert(!NegInfInterval!Date(Date(1996, 1, 2)).empty);
6454 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6456 assert(negInfInterval.contains(Date(2009, 7, 4)));
6457 assert(negInfInterval.contains(Date(2010, 7, 3)));
6458 assert(negInfInterval.contains(Date(2010, 7, 4)));
6459 assert(negInfInterval.contains(Date(2010, 7, 5)));
6460 assert(negInfInterval.contains(Date(2011, 7, 1)));
6461 assert(negInfInterval.contains(Date(2012, 1, 6)));
6462 assert(!negInfInterval.contains(Date(2012, 1, 7)));
6463 assert(!negInfInterval.contains(Date(2012, 1, 8)));
6464 assert(!negInfInterval.contains(Date(2013, 1, 7)));
6466 const cdate = Date(2010, 7, 6);
6467 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6468 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6474 assert(NegInfInterval!Date(Date(2012, 3, 1)).contains(Date(1994, 12, 24)));
6475 assert(NegInfInterval!Date(Date(2012, 3, 1)).contains(Date(2000, 1, 5)));
6476 assert(!NegInfInterval!Date(Date(2012, 3, 1)).contains(Date(2012, 3, 1)));
6484 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6486 …static void testInterval(scope const NegInfInterval!Date negInfInterval, scope const Interval!Date…
6491 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
6494 assert(negInfInterval.contains(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
6495 assert(!negInfInterval.contains(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
6496 assert(negInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
6497 assert(negInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
6498 assert(negInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
6499 assert(!negInfInterval.contains(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
6500 assert(negInfInterval.contains(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
6501 assert(negInfInterval.contains(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
6502 assert(negInfInterval.contains(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
6503 assert(!negInfInterval.contains(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
6504 assert(!negInfInterval.contains(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
6505 assert(!negInfInterval.contains(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
6507 assert(negInfInterval.contains(NegInfInterval!Date(Date(2010, 7, 3))));
6508 assert(negInfInterval.contains(NegInfInterval!Date(Date(2010, 7, 4))));
6509 assert(negInfInterval.contains(NegInfInterval!Date(Date(2010, 7, 5))));
6510 assert(negInfInterval.contains(NegInfInterval!Date(Date(2012, 1, 6))));
6511 assert(negInfInterval.contains(NegInfInterval!Date(Date(2012, 1, 7))));
6512 assert(!negInfInterval.contains(NegInfInterval!Date(Date(2012, 1, 8))));
6514 assert(!NegInfInterval!Date(Date(2010, 7, 3)).contains(negInfInterval));
6515 assert(!NegInfInterval!Date(Date(2010, 7, 4)).contains(negInfInterval));
6516 assert(!NegInfInterval!Date(Date(2010, 7, 5)).contains(negInfInterval));
6517 assert(!NegInfInterval!Date(Date(2012, 1, 6)).contains(negInfInterval));
6518 assert(NegInfInterval!Date(Date(2012, 1, 7)).contains(negInfInterval));
6519 assert(NegInfInterval!Date(Date(2012, 1, 8)).contains(negInfInterval));
6521 assert(!negInfInterval.contains(PosInfInterval!Date(Date(2010, 7, 3))));
6522 assert(!negInfInterval.contains(PosInfInterval!Date(Date(2010, 7, 4))));
6523 assert(!negInfInterval.contains(PosInfInterval!Date(Date(2010, 7, 5))));
6524 assert(!negInfInterval.contains(PosInfInterval!Date(Date(2012, 1, 6))));
6525 assert(!negInfInterval.contains(PosInfInterval!Date(Date(2012, 1, 7))));
6526 assert(!negInfInterval.contains(PosInfInterval!Date(Date(2012, 1, 8))));
6528 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6529 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6530 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6531 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6532 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6533 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6534 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6535 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6565 …assert(NegInfInterval!Date(Date(2012, 3, 1)).contains(Interval!Date(Date(1990, 7, 6), Date(2000, 8…
6566 …assert(NegInfInterval!Date(Date(2012, 3, 1)).contains(Interval!Date(Date(1999, 1, 12), Date(2011, …
6567 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).contains(Interval!Date(Date(1998, 2, 28), Date(2013,…
6569 assert(!NegInfInterval!Date(Date(2012, 3, 1)).contains(PosInfInterval!Date(Date(1999, 5, 4))));
6571 assert(NegInfInterval!Date(Date(2012, 3, 1)).contains(NegInfInterval!Date(Date(1996, 5, 4))));
6572 assert(!NegInfInterval!Date(Date(2012, 3, 1)).contains(NegInfInterval!Date(Date(2013, 7, 9))));
6580 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6582 assert(!negInfInterval.isBefore(Date(2009, 7, 4)));
6583 assert(!negInfInterval.isBefore(Date(2010, 7, 3)));
6584 assert(!negInfInterval.isBefore(Date(2010, 7, 4)));
6585 assert(!negInfInterval.isBefore(Date(2010, 7, 5)));
6586 assert(!negInfInterval.isBefore(Date(2011, 7, 1)));
6587 assert(!negInfInterval.isBefore(Date(2012, 1, 6)));
6588 assert(negInfInterval.isBefore(Date(2012, 1, 7)));
6589 assert(negInfInterval.isBefore(Date(2012, 1, 8)));
6590 assert(negInfInterval.isBefore(Date(2013, 1, 7)));
6592 const cdate = Date(2010, 7, 6);
6593 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6594 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6600 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isBefore(Date(1994, 12, 24)));
6601 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isBefore(Date(2000, 1, 5)));
6602 assert(NegInfInterval!Date(Date(2012, 3, 1)).isBefore(Date(2012, 3, 1)));
6610 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6612 …static void testInterval(scope const NegInfInterval!Date negInfInterval, scope const Interval!Date…
6617 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
6620 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
6621 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
6622 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
6623 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
6624 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
6625 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
6626 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
6627 assert(!negInfInterval.isBefore(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
6628 assert(!negInfInterval.isBefore(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
6629 assert(!negInfInterval.isBefore(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
6630 assert(negInfInterval.isBefore(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
6631 assert(negInfInterval.isBefore(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
6633 assert(!negInfInterval.isBefore(NegInfInterval!Date(Date(2010, 7, 3))));
6634 assert(!negInfInterval.isBefore(NegInfInterval!Date(Date(2010, 7, 4))));
6635 assert(!negInfInterval.isBefore(NegInfInterval!Date(Date(2010, 7, 5))));
6636 assert(!negInfInterval.isBefore(NegInfInterval!Date(Date(2012, 1, 6))));
6637 assert(!negInfInterval.isBefore(NegInfInterval!Date(Date(2012, 1, 7))));
6638 assert(!negInfInterval.isBefore(NegInfInterval!Date(Date(2012, 1, 8))));
6640 assert(!NegInfInterval!Date(Date(2010, 7, 3)).isBefore(negInfInterval));
6641 assert(!NegInfInterval!Date(Date(2010, 7, 4)).isBefore(negInfInterval));
6642 assert(!NegInfInterval!Date(Date(2010, 7, 5)).isBefore(negInfInterval));
6643 assert(!NegInfInterval!Date(Date(2012, 1, 6)).isBefore(negInfInterval));
6644 assert(!NegInfInterval!Date(Date(2012, 1, 7)).isBefore(negInfInterval));
6645 assert(!NegInfInterval!Date(Date(2012, 1, 8)).isBefore(negInfInterval));
6647 assert(!negInfInterval.isBefore(PosInfInterval!Date(Date(2010, 7, 3))));
6648 assert(!negInfInterval.isBefore(PosInfInterval!Date(Date(2010, 7, 4))));
6649 assert(!negInfInterval.isBefore(PosInfInterval!Date(Date(2010, 7, 5))));
6650 assert(!negInfInterval.isBefore(PosInfInterval!Date(Date(2012, 1, 6))));
6651 assert(negInfInterval.isBefore(PosInfInterval!Date(Date(2012, 1, 7))));
6652 assert(negInfInterval.isBefore(PosInfInterval!Date(Date(2012, 1, 8))));
6654 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6655 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6656 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6657 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6658 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6659 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6660 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6661 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6691 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isBefore(Interval!Date(Date(1990, 7, 6), Date(2000, …
6692 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isBefore(Interval!Date(Date(1999, 1, 12), Date(2011,…
6693 …assert(NegInfInterval!Date(Date(2012, 3, 1)).isBefore(Interval!Date(Date(2022, 10, 19), Date(2027,…
6695 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isBefore(PosInfInterval!Date(Date(1999, 5, 4))));
6696 assert(NegInfInterval!Date(Date(2012, 3, 1)).isBefore(PosInfInterval!Date(Date(2012, 3, 1))));
6698 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isBefore(NegInfInterval!Date(Date(1996, 5, 4))));
6699 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isBefore(NegInfInterval!Date(Date(2013, 7, 9))));
6707 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6709 assert(!negInfInterval.isAfter(Date(2009, 7, 4)));
6710 assert(!negInfInterval.isAfter(Date(2010, 7, 3)));
6711 assert(!negInfInterval.isAfter(Date(2010, 7, 4)));
6712 assert(!negInfInterval.isAfter(Date(2010, 7, 5)));
6713 assert(!negInfInterval.isAfter(Date(2011, 7, 1)));
6714 assert(!negInfInterval.isAfter(Date(2012, 1, 6)));
6715 assert(!negInfInterval.isAfter(Date(2012, 1, 7)));
6716 assert(!negInfInterval.isAfter(Date(2012, 1, 8)));
6717 assert(!negInfInterval.isAfter(Date(2013, 1, 7)));
6719 const cdate = Date(2010, 7, 6);
6720 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6721 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6732 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6734 …static void testInterval(scope const NegInfInterval!Date negInfInterval, scope const Interval!Date…
6739 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
6742 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
6743 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
6744 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
6745 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
6746 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
6747 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
6748 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
6749 assert(!negInfInterval.isAfter(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
6750 assert(!negInfInterval.isAfter(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
6751 assert(!negInfInterval.isAfter(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
6752 assert(!negInfInterval.isAfter(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
6753 assert(!negInfInterval.isAfter(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
6755 assert(!negInfInterval.isAfter(NegInfInterval!Date(Date(2010, 7, 3))));
6756 assert(!negInfInterval.isAfter(NegInfInterval!Date(Date(2010, 7, 4))));
6757 assert(!negInfInterval.isAfter(NegInfInterval!Date(Date(2010, 7, 5))));
6758 assert(!negInfInterval.isAfter(NegInfInterval!Date(Date(2012, 1, 6))));
6759 assert(!negInfInterval.isAfter(NegInfInterval!Date(Date(2012, 1, 7))));
6760 assert(!negInfInterval.isAfter(NegInfInterval!Date(Date(2012, 1, 8))));
6762 assert(!NegInfInterval!Date(Date(2010, 7, 3)).isAfter(negInfInterval));
6763 assert(!NegInfInterval!Date(Date(2010, 7, 4)).isAfter(negInfInterval));
6764 assert(!NegInfInterval!Date(Date(2010, 7, 5)).isAfter(negInfInterval));
6765 assert(!NegInfInterval!Date(Date(2012, 1, 6)).isAfter(negInfInterval));
6766 assert(!NegInfInterval!Date(Date(2012, 1, 7)).isAfter(negInfInterval));
6767 assert(!NegInfInterval!Date(Date(2012, 1, 8)).isAfter(negInfInterval));
6769 assert(!negInfInterval.isAfter(PosInfInterval!Date(Date(2010, 7, 3))));
6770 assert(!negInfInterval.isAfter(PosInfInterval!Date(Date(2010, 7, 4))));
6771 assert(!negInfInterval.isAfter(PosInfInterval!Date(Date(2010, 7, 5))));
6772 assert(!negInfInterval.isAfter(PosInfInterval!Date(Date(2012, 1, 6))));
6773 assert(!negInfInterval.isAfter(PosInfInterval!Date(Date(2012, 1, 7))));
6774 assert(!negInfInterval.isAfter(PosInfInterval!Date(Date(2012, 1, 8))));
6776 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6777 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6778 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6779 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6780 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6781 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6782 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6783 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6813 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(Date(1994, 12, 24)));
6814 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(Date(2000, 1, 5)));
6815 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(Date(2012, 3, 1)));
6817 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(Interval!Date(Date(1990, 7, 6), Date(2000, 8…
6818 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(Interval!Date(Date(1999, 1, 12), Date(2011, …
6819 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(Interval!Date(Date(2022, 10, 19), Date(2027,…
6821 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(PosInfInterval!Date(Date(1999, 5, 4))));
6822 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(PosInfInterval!Date(Date(2012, 3, 1))));
6824 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(NegInfInterval!Date(Date(1996, 5, 4))));
6825 assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAfter(NegInfInterval!Date(Date(2013, 7, 9))));
6833 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6835 …static void testInterval(scope const NegInfInterval!Date negInfInterval, scope const Interval!Date…
6840 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
6843 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
6844 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
6845 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
6846 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
6847 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
6848 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
6849 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
6850 assert(negInfInterval.intersects(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
6851 assert(negInfInterval.intersects(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
6852 assert(negInfInterval.intersects(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
6853 assert(!negInfInterval.intersects(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
6854 assert(!negInfInterval.intersects(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
6856 assert(negInfInterval.intersects(NegInfInterval!Date(Date(2010, 7, 3))));
6857 assert(negInfInterval.intersects(NegInfInterval!Date(Date(2010, 7, 4))));
6858 assert(negInfInterval.intersects(NegInfInterval!Date(Date(2010, 7, 5))));
6859 assert(negInfInterval.intersects(NegInfInterval!Date(Date(2012, 1, 6))));
6860 assert(negInfInterval.intersects(NegInfInterval!Date(Date(2012, 1, 7))));
6861 assert(negInfInterval.intersects(NegInfInterval!Date(Date(2012, 1, 8))));
6863 assert(NegInfInterval!Date(Date(2010, 7, 3)).intersects(negInfInterval));
6864 assert(NegInfInterval!Date(Date(2010, 7, 4)).intersects(negInfInterval));
6865 assert(NegInfInterval!Date(Date(2010, 7, 5)).intersects(negInfInterval));
6866 assert(NegInfInterval!Date(Date(2012, 1, 6)).intersects(negInfInterval));
6867 assert(NegInfInterval!Date(Date(2012, 1, 7)).intersects(negInfInterval));
6868 assert(NegInfInterval!Date(Date(2012, 1, 8)).intersects(negInfInterval));
6870 assert(negInfInterval.intersects(PosInfInterval!Date(Date(2010, 7, 3))));
6871 assert(negInfInterval.intersects(PosInfInterval!Date(Date(2010, 7, 4))));
6872 assert(negInfInterval.intersects(PosInfInterval!Date(Date(2010, 7, 5))));
6873 assert(negInfInterval.intersects(PosInfInterval!Date(Date(2012, 1, 6))));
6874 assert(!negInfInterval.intersects(PosInfInterval!Date(Date(2012, 1, 7))));
6875 assert(!negInfInterval.intersects(PosInfInterval!Date(Date(2012, 1, 8))));
6877 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6878 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6879 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6880 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6881 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6882 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6883 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6884 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6914 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersects(Interval!Date(Date(1990, 7, 6), Date(2000,…
6915 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersects(Interval!Date(Date(1999, 1, 12), Date(2011…
6916 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).intersects(Interval!Date(Date(2022, 10, 19), Date(20…
6918 assert(NegInfInterval!Date(Date(2012, 3, 1)).intersects(PosInfInterval!Date(Date(1999, 5, 4))));
6919 … assert(!NegInfInterval!Date(Date(2012, 3, 1)).intersects(PosInfInterval!Date(Date(2012, 3, 1))));
6921 assert(NegInfInterval!Date(Date(2012, 3, 1)).intersects(NegInfInterval!Date(Date(1996, 5, 4))));
6922 assert(NegInfInterval!Date(Date(2012, 3, 1)).intersects(NegInfInterval!Date(Date(2013, 7, 9))));
6930 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6937 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
6939 …Thrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2012, 1, 7), Date(2012, 1…
6940 …Thrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2012, 1, 8), Date(2012, 1…
6942 …assertThrown!DateTimeException(testInterval(negInfInterval, PosInfInterval!Date(Date(2012, 1, 7)))…
6943 …assertThrown!DateTimeException(testInterval(negInfInterval, PosInfInterval!Date(Date(2012, 1, 8)))…
6946 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))) ==
6947 Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3)));
6948 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
6949 Interval!Date(Date(2010, 7, 1), Date(2012, 1, 7)));
6950 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))) ==
6951 Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4)));
6952 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
6953 Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5)));
6954 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
6955 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
6956 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
6957 Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7)));
6958 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
6959 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6)));
6960 assert(negInfInterval.intersection(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
6961 Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7)));
6962 assert(negInfInterval.intersection(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
6963 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
6964 assert(negInfInterval.intersection(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
6965 Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7)));
6967 …assert(negInfInterval.intersection(NegInfInterval!Date(Date(2010, 7, 3))) == NegInfInterval!Date(D…
6968 …assert(negInfInterval.intersection(NegInfInterval!Date(Date(2010, 7, 4))) == NegInfInterval!Date(D…
6969 …assert(negInfInterval.intersection(NegInfInterval!Date(Date(2010, 7, 5))) == NegInfInterval!Date(D…
6970 …assert(negInfInterval.intersection(NegInfInterval!Date(Date(2012, 1, 6))) == NegInfInterval!Date(D…
6971 …assert(negInfInterval.intersection(NegInfInterval!Date(Date(2012, 1, 7))) == NegInfInterval!Date(D…
6972 …assert(negInfInterval.intersection(NegInfInterval!Date(Date(2012, 1, 8))) == NegInfInterval!Date(D…
6974 …assert(NegInfInterval!Date(Date(2010, 7, 3)).intersection(negInfInterval) == NegInfInterval!Date(D…
6975 …assert(NegInfInterval!Date(Date(2010, 7, 4)).intersection(negInfInterval) == NegInfInterval!Date(D…
6976 …assert(NegInfInterval!Date(Date(2010, 7, 5)).intersection(negInfInterval) == NegInfInterval!Date(D…
6977 …assert(NegInfInterval!Date(Date(2012, 1, 6)).intersection(negInfInterval) == NegInfInterval!Date(D…
6978 …assert(NegInfInterval!Date(Date(2012, 1, 7)).intersection(negInfInterval) == NegInfInterval!Date(D…
6979 …assert(NegInfInterval!Date(Date(2012, 1, 8)).intersection(negInfInterval) == NegInfInterval!Date(D…
6981 assert(negInfInterval.intersection(PosInfInterval!Date(Date(2010, 7, 3))) ==
6982 Interval!Date(Date(2010, 7, 3), Date(2012, 1 ,7)));
6983 assert(negInfInterval.intersection(PosInfInterval!Date(Date(2010, 7, 4))) ==
6984 Interval!Date(Date(2010, 7, 4), Date(2012, 1 ,7)));
6985 assert(negInfInterval.intersection(PosInfInterval!Date(Date(2010, 7, 5))) ==
6986 Interval!Date(Date(2010, 7, 5), Date(2012, 1 ,7)));
6987 assert(negInfInterval.intersection(PosInfInterval!Date(Date(2012, 1, 6))) ==
6988 Interval!Date(Date(2012, 1, 6), Date(2012, 1 ,7)));
6990 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6991 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6992 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
6993 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6994 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6995 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
6996 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
6997 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7027 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersection(Interval!Date(Date(1990, 7, 6), Date(200…
7028 Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2)));
7029 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersection(Interval!Date(Date(1999, 1, 12), Date(20…
7030 Interval!Date(Date(1999, 1, 12), Date(2012, 3, 1)));
7032 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersection(PosInfInterval!Date(Date(1990, 7, 6))) ==
7033 Interval!Date(Date(1990, 7, 6), Date(2012, 3, 1)));
7034 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersection(PosInfInterval!Date(Date(1999, 1, 12))) …
7035 Interval!Date(Date(1999, 1, 12), Date(2012, 3, 1)));
7037 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersection(NegInfInterval!Date(Date(1999, 7, 6))) ==
7038 NegInfInterval!Date(Date(1999, 7, 6)));
7039 …assert(NegInfInterval!Date(Date(2012, 3, 1)).intersection(NegInfInterval!Date(Date(2013, 1, 12))) …
7040 NegInfInterval!Date(Date(2012, 3, 1)));
7048 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7050 …static void testInterval(scope const NegInfInterval!Date negInfInterval, scope const Interval!Date…
7055 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
7058 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))));
7059 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))));
7060 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))));
7061 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))));
7062 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))));
7063 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))));
7064 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))));
7065 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))));
7066 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))));
7067 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))));
7068 assert(negInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))));
7069 assert(!negInfInterval.isAdjacent(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))));
7071 assert(!negInfInterval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 3))));
7072 assert(!negInfInterval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 4))));
7073 assert(!negInfInterval.isAdjacent(NegInfInterval!Date(Date(2010, 7, 5))));
7074 assert(!negInfInterval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 6))));
7075 assert(!negInfInterval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 7))));
7076 assert(!negInfInterval.isAdjacent(NegInfInterval!Date(Date(2012, 1, 8))));
7078 assert(!NegInfInterval!Date(Date(2010, 7, 3)).isAdjacent(negInfInterval));
7079 assert(!NegInfInterval!Date(Date(2010, 7, 4)).isAdjacent(negInfInterval));
7080 assert(!NegInfInterval!Date(Date(2010, 7, 5)).isAdjacent(negInfInterval));
7081 assert(!NegInfInterval!Date(Date(2012, 1, 6)).isAdjacent(negInfInterval));
7082 assert(!NegInfInterval!Date(Date(2012, 1, 7)).isAdjacent(negInfInterval));
7083 assert(!NegInfInterval!Date(Date(2012, 1, 8)).isAdjacent(negInfInterval));
7085 assert(!negInfInterval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 3))));
7086 assert(!negInfInterval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 4))));
7087 assert(!negInfInterval.isAdjacent(PosInfInterval!Date(Date(2010, 7, 5))));
7088 assert(!negInfInterval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 6))));
7089 assert(negInfInterval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 7))));
7090 assert(!negInfInterval.isAdjacent(PosInfInterval!Date(Date(2012, 1, 8))));
7092 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7093 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7094 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7095 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7096 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7097 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7098 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7099 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7129 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(Interval!Date(Date(1990, 7, 6), Date(2000…
7130 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(Interval!Date(Date(1999, 1, 12), Date(201…
7131 …assert(NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(Interval!Date(Date(2012, 3, 1), Date(2019,…
7132 …assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(Interval!Date(Date(2022, 10, 19), Date(20…
7134 … assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(PosInfInterval!Date(Date(1999, 5, 4))));
7135 assert(NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(PosInfInterval!Date(Date(2012, 3, 1))));
7137 … assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(NegInfInterval!Date(Date(1996, 5, 4))));
7138 … assert(!NegInfInterval!Date(Date(2012, 3, 1)).isAdjacent(NegInfInterval!Date(Date(2012, 3, 1))));
7146 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7153 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
7155 …Thrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2012, 1, 8), Date(2012, 1…
7158 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))) ==
7159 NegInfInterval!Date(Date(2012, 1, 7)));
7160 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
7161 NegInfInterval!Date(Date(2013, 7, 3)));
7162 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))) ==
7163 NegInfInterval!Date(Date(2012, 1, 7)));
7164 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
7165 NegInfInterval!Date(Date(2012, 1, 7)));
7166 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
7167 NegInfInterval!Date(Date(2012, 1, 7)));
7168 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
7169 NegInfInterval!Date(Date(2012, 1, 8)));
7170 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
7171 NegInfInterval!Date(Date(2012, 1, 7)));
7172 assert(negInfInterval.merge(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
7173 NegInfInterval!Date(Date(2012, 1, 7)));
7174 assert(negInfInterval.merge(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
7175 NegInfInterval!Date(Date(2012, 1, 7)));
7176 assert(negInfInterval.merge(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
7177 NegInfInterval!Date(Date(2012, 1, 8)));
7178 assert(negInfInterval.merge(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))) ==
7179 NegInfInterval!Date(Date(2012, 1, 8)));
7181 …assert(negInfInterval.merge(NegInfInterval!Date(Date(2010, 7, 3))) == NegInfInterval!Date(Date(201…
7182 …assert(negInfInterval.merge(NegInfInterval!Date(Date(2010, 7, 4))) == NegInfInterval!Date(Date(201…
7183 …assert(negInfInterval.merge(NegInfInterval!Date(Date(2010, 7, 5))) == NegInfInterval!Date(Date(201…
7184 …assert(negInfInterval.merge(NegInfInterval!Date(Date(2012, 1, 6))) == NegInfInterval!Date(Date(201…
7185 …assert(negInfInterval.merge(NegInfInterval!Date(Date(2012, 1, 7))) == NegInfInterval!Date(Date(201…
7186 …assert(negInfInterval.merge(NegInfInterval!Date(Date(2012, 1, 8))) == NegInfInterval!Date(Date(201…
7188 …assert(NegInfInterval!Date(Date(2010, 7, 3)).merge(negInfInterval) == NegInfInterval!Date(Date(201…
7189 …assert(NegInfInterval!Date(Date(2010, 7, 4)).merge(negInfInterval) == NegInfInterval!Date(Date(201…
7190 …assert(NegInfInterval!Date(Date(2010, 7, 5)).merge(negInfInterval) == NegInfInterval!Date(Date(201…
7191 …assert(NegInfInterval!Date(Date(2012, 1, 6)).merge(negInfInterval) == NegInfInterval!Date(Date(201…
7192 …assert(NegInfInterval!Date(Date(2012, 1, 7)).merge(negInfInterval) == NegInfInterval!Date(Date(201…
7193 …assert(NegInfInterval!Date(Date(2012, 1, 8)).merge(negInfInterval) == NegInfInterval!Date(Date(201…
7195 static assert(!__traits(compiles, negInfInterval.merge(PosInfInterval!Date(Date(2010, 7, 3)))));
7196 static assert(!__traits(compiles, negInfInterval.merge(PosInfInterval!Date(Date(2010, 7, 4)))));
7197 static assert(!__traits(compiles, negInfInterval.merge(PosInfInterval!Date(Date(2010, 7, 5)))));
7198 static assert(!__traits(compiles, negInfInterval.merge(PosInfInterval!Date(Date(2012, 1, 6)))));
7199 static assert(!__traits(compiles, negInfInterval.merge(PosInfInterval!Date(Date(2012, 1, 7)))));
7200 static assert(!__traits(compiles, negInfInterval.merge(PosInfInterval!Date(Date(2012, 1, 8)))));
7202 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7203 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7204 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7205 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7206 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7207 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7208 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7209 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7239 …assert(NegInfInterval!Date(Date(2012, 3, 1)).merge(Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2…
7240 NegInfInterval!Date(Date(2012, 3, 1)));
7241 …assert(NegInfInterval!Date(Date(2012, 3, 1)).merge(Interval!Date(Date(1999, 1, 12), Date(2015, 9, …
7242 NegInfInterval!Date(Date(2015, 9, 2)));
7244 assert(NegInfInterval!Date(Date(2012, 3, 1)).merge(NegInfInterval!Date(Date(1999, 7, 6))) ==
7245 NegInfInterval!Date(Date(2012, 3, 1)));
7246 assert(NegInfInterval!Date(Date(2012, 3, 1)).merge(NegInfInterval!Date(Date(2013, 1, 12))) ==
7247 NegInfInterval!Date(Date(2013, 1, 12)));
7255 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7262 …assertThrown!DateTimeException(testInterval(negInfInterval, Interval!Date(Date(2010, 7, 4), dur!"d…
7265 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 1), Date(2010, 7, 3))) ==
7266 NegInfInterval!Date(Date(2012, 1, 7)));
7267 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 1), Date(2013, 7, 3))) ==
7268 NegInfInterval!Date(Date(2013, 7, 3)));
7269 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 4))) ==
7270 NegInfInterval!Date(Date(2012, 1, 7)));
7271 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2010, 7, 5))) ==
7272 NegInfInterval!Date(Date(2012, 1, 7)));
7273 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 7))) ==
7274 NegInfInterval!Date(Date(2012, 1, 7)));
7275 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 3), Date(2012, 1, 8))) ==
7276 NegInfInterval!Date(Date(2012, 1, 8)));
7277 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 6))) ==
7278 NegInfInterval!Date(Date(2012, 1, 7)));
7279 assert(negInfInterval.span(Interval!Date(Date(2010, 7, 5), Date(2012, 1, 7))) ==
7280 NegInfInterval!Date(Date(2012, 1, 7)));
7281 assert(negInfInterval.span(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 7))) ==
7282 NegInfInterval!Date(Date(2012, 1, 7)));
7283 assert(negInfInterval.span(Interval!Date(Date(2012, 1, 6), Date(2012, 1, 8))) ==
7284 NegInfInterval!Date(Date(2012, 1, 8)));
7285 assert(negInfInterval.span(Interval!Date(Date(2012, 1, 7), Date(2012, 1, 8))) ==
7286 NegInfInterval!Date(Date(2012, 1, 8)));
7287 assert(negInfInterval.span(Interval!Date(Date(2012, 1, 8), Date(2012, 1, 9))) ==
7288 NegInfInterval!Date(Date(2012, 1, 9)));
7290 …assert(negInfInterval.span(NegInfInterval!Date(Date(2010, 7, 3))) == NegInfInterval!Date(Date(2012…
7291 …assert(negInfInterval.span(NegInfInterval!Date(Date(2010, 7, 4))) == NegInfInterval!Date(Date(2012…
7292 …assert(negInfInterval.span(NegInfInterval!Date(Date(2010, 7, 5))) == NegInfInterval!Date(Date(2012…
7293 …assert(negInfInterval.span(NegInfInterval!Date(Date(2012, 1, 6))) == NegInfInterval!Date(Date(2012…
7294 …assert(negInfInterval.span(NegInfInterval!Date(Date(2012, 1, 7))) == NegInfInterval!Date(Date(2012…
7295 …assert(negInfInterval.span(NegInfInterval!Date(Date(2012, 1, 8))) == NegInfInterval!Date(Date(2012…
7297 …assert(NegInfInterval!Date(Date(2010, 7, 3)).span(negInfInterval) == NegInfInterval!Date(Date(2012…
7298 …assert(NegInfInterval!Date(Date(2010, 7, 4)).span(negInfInterval) == NegInfInterval!Date(Date(2012…
7299 …assert(NegInfInterval!Date(Date(2010, 7, 5)).span(negInfInterval) == NegInfInterval!Date(Date(2012…
7300 …assert(NegInfInterval!Date(Date(2012, 1, 6)).span(negInfInterval) == NegInfInterval!Date(Date(2012…
7301 …assert(NegInfInterval!Date(Date(2012, 1, 7)).span(negInfInterval) == NegInfInterval!Date(Date(2012…
7302 …assert(NegInfInterval!Date(Date(2012, 1, 8)).span(negInfInterval) == NegInfInterval!Date(Date(2012…
7304 static assert(!__traits(compiles, negInfInterval.span(PosInfInterval!Date(Date(2010, 7, 3)))));
7305 static assert(!__traits(compiles, negInfInterval.span(PosInfInterval!Date(Date(2010, 7, 4)))));
7306 static assert(!__traits(compiles, negInfInterval.span(PosInfInterval!Date(Date(2010, 7, 5)))));
7307 static assert(!__traits(compiles, negInfInterval.span(PosInfInterval!Date(Date(2012, 1, 6)))));
7308 static assert(!__traits(compiles, negInfInterval.span(PosInfInterval!Date(Date(2012, 1, 7)))));
7309 static assert(!__traits(compiles, negInfInterval.span(PosInfInterval!Date(Date(2012, 1, 8)))));
7311 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7312 const cInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7313 immutable iInterval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
7314 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7315 const cPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7316 immutable iPosInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
7317 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7318 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7348 …assert(NegInfInterval!Date(Date(2012, 3, 1)).span(Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2)…
7349 NegInfInterval!Date(Date(2012, 3, 1)));
7350 …assert(NegInfInterval!Date(Date(2012, 3, 1)).span(Interval!Date(Date(1999, 1, 12), Date(2015, 9, 2…
7351 NegInfInterval!Date(Date(2015, 9, 2)));
7352 …assert(NegInfInterval!Date(Date(1600, 1, 7)).span(Interval!Date(Date(2012, 3, 11), Date(2017, 7, 1…
7353 NegInfInterval!Date(Date(2017, 7, 1)));
7355 assert(NegInfInterval!Date(Date(2012, 3, 1)).span(NegInfInterval!Date(Date(1999, 7, 6))) ==
7356 NegInfInterval!Date(Date(2012, 3, 1)));
7357 assert(NegInfInterval!Date(Date(2012, 3, 1)).span(NegInfInterval!Date(Date(2013, 1, 12))) ==
7358 NegInfInterval!Date(Date(2013, 1, 12)));
7366 auto interval = NegInfInterval!Date(Date(2012, 1, 7));
7375 testInterval(interval, dur!"days"(22), NegInfInterval!Date(Date(2012, 1, 29)));
7376 testInterval(interval, dur!"days"(-22), NegInfInterval!Date(Date(2011, 12, 16)));
7378 const cInterval = NegInfInterval!Date(Date(2012, 1, 7));
7379 immutable iInterval = NegInfInterval!Date(Date(2012, 1, 7));
7384 auto interval1 = NegInfInterval!Date(Date(2012, 4, 5));
7385 auto interval2 = NegInfInterval!Date(Date(2012, 4, 5));
7388 assert(interval1 == NegInfInterval!Date(Date(2012, 5, 25)));
7391 assert(interval2 == NegInfInterval!Date( Date(2012, 2, 15)));
7400 auto interval = NegInfInterval!Date(Date(2012, 1, 7));
7414 testInterval(interval, 5, 0, AllowDayOverflow.yes, NegInfInterval!Date(Date(2017, 1, 7)));
7415 testInterval(interval, -5, 0, AllowDayOverflow.yes, NegInfInterval!Date(Date(2007, 1, 7)));
7417 auto interval2 = NegInfInterval!Date(Date(2010, 5, 31));
7419 testInterval(interval2, 1, 1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2011, 7, 1)));
7420 testInterval(interval2, 1, -1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2011, 5, 1)));
7421 … testInterval(interval2, -1, -1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2009, 5, 1)));
7422 testInterval(interval2, -1, 1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2009, 7, 1)));
7424 testInterval(interval2, 1, 1, AllowDayOverflow.no, NegInfInterval!Date(Date(2011, 6, 30)));
7425 testInterval(interval2, 1, -1, AllowDayOverflow.no, NegInfInterval!Date(Date(2011, 4, 30)));
7426 … testInterval(interval2, -1, -1, AllowDayOverflow.no, NegInfInterval!Date(Date(2009, 4, 30)));
7427 testInterval(interval2, -1, 1, AllowDayOverflow.no, NegInfInterval!Date(Date(2009, 6, 30)));
7430 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7431 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7436 auto interval1 = NegInfInterval!Date(Date(2012, 3, 1));
7437 auto interval2 = NegInfInterval!Date(Date(2012, 3, 1));
7440 assert(interval1 == NegInfInterval!Date(Date(2014, 3, 1)));
7443 assert(interval2 == NegInfInterval!Date(Date(2010, 3, 1)));
7451 auto interval = NegInfInterval!Date(Date(2012, 1, 7));
7460 testInterval(interval, dur!"days"(22), NegInfInterval!Date(Date(2012, 1, 29)));
7461 testInterval(interval, dur!"days"(-22), NegInfInterval!Date(Date(2011, 12, 16)));
7463 const cInterval = NegInfInterval!Date(Date(2012, 1, 7));
7464 immutable iInterval = NegInfInterval!Date(Date(2012, 1, 7));
7469 auto interval1 = NegInfInterval!Date(Date(2012, 3, 1));
7470 auto interval2 = NegInfInterval!Date(Date(2012, 3, 1));
7473 assert(interval1 == NegInfInterval!Date(Date(2012, 3, 3)));
7476 assert(interval2 == NegInfInterval!Date(Date(2012, 2, 28)));
7485 auto interval = NegInfInterval!Date(Date(2012, 1, 7));
7494 testInterval(interval, 5, 0, AllowDayOverflow.yes, NegInfInterval!Date(Date(2017, 1, 7)));
7495 testInterval(interval, -5, 0, AllowDayOverflow.yes, NegInfInterval!Date(Date(2007, 1, 7)));
7497 auto interval2 = NegInfInterval!Date(Date(2010, 5, 31));
7499 testInterval(interval2, 1, 1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2011, 7, 1)));
7500 testInterval(interval2, 1, -1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2011, 5, 1)));
7501 … testInterval(interval2, -1, -1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2009, 5, 1)));
7502 testInterval(interval2, -1, 1, AllowDayOverflow.yes, NegInfInterval!Date(Date(2009, 7, 1)));
7504 testInterval(interval2, 1, 1, AllowDayOverflow.no, NegInfInterval!Date(Date(2011, 6, 30)));
7505 testInterval(interval2, 1, -1, AllowDayOverflow.no, NegInfInterval!Date(Date(2011, 4, 30)));
7506 … testInterval(interval2, -1, -1, AllowDayOverflow.no, NegInfInterval!Date(Date(2009, 4, 30)));
7507 … testInterval(interval2, -1, 1, AllowDayOverflow.no, NegInfInterval!Date( Date(2009, 6, 30)));
7510 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7511 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7516 auto interval1 = NegInfInterval!Date(Date(2012, 3, 1));
7517 auto interval2 = NegInfInterval!Date(Date(2012, 3, 1));
7520 assert(interval1 == NegInfInterval!Date(Date(2014, 3, 1)));
7523 assert(interval2 == NegInfInterval!Date(Date(2010, 3, 1)));
7531 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7533 static void testInterval(NegInfInterval!Date negInfInterval)
7535 negInfInterval.bwdRange(everyDayOfWeek!(Date, Direction.fwd)(DayOfWeek.fri)).popFront();
7540 …assert(NegInfInterval!Date(Date(2010, 10, 1)).bwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfW…
7541 Date(2010, 10, 1));
7543 assert(NegInfInterval!Date(Date(2010, 10, 1)).bwdRange(
7544 … everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri), PopFirst.yes).front == Date(2010, 9, 24));
7547 auto interval = NegInfInterval!Date(Date(2010, 9, 9));
7548 auto func = delegate (scope const Date date) in delegate()
7557 assert(range.front == Date(2010, 9, 9));
7560 assert(range.front == Date(2010, 9, 8));
7563 assert(range.front == Date(2010, 9, 6));
7566 assert(range.front == Date(2010, 9, 4));
7569 assert(range.front == Date(2010, 9, 2));
7574 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7575 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7576 assert(!cNegInfInterval.bwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri)).empty);
7577 assert(!iNegInfInterval.bwdRange(everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri)).empty);
7585 assert(NegInfInterval!Date(Date(2012, 1, 7)).toString() == "[-∞ - 2012-Jan-07)");
7587 const cNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7588 immutable iNegInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
7637 import std.datetime.date : Date, DayOfWeek;
7639 auto interval = Interval!Date(Date(2010, 9, 2), Date(2010, 9, 27));
7640 auto func = everyDayOfWeek!Date(DayOfWeek.mon);
7644 assert(range.front == Date(2010, 9, 2));
7647 assert(range.front == Date(2010, 9, 6));
7650 assert(range.front == Date(2010, 9, 13));
7653 assert(range.front == Date(2010, 9, 20));
7664 auto funcFwd = everyDayOfWeek!Date(DayOfWeek.mon);
7665 auto funcBwd = everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.mon);
7667 assert(funcFwd(Date(2010, 8, 28)) == Date(2010, 8, 30));
7668 assert(funcFwd(Date(2010, 8, 29)) == Date(2010, 8, 30));
7669 assert(funcFwd(Date(2010, 8, 30)) == Date(2010, 9, 6));
7670 assert(funcFwd(Date(2010, 8, 31)) == Date(2010, 9, 6));
7671 assert(funcFwd(Date(2010, 9, 1)) == Date(2010, 9, 6));
7672 assert(funcFwd(Date(2010, 9, 2)) == Date(2010, 9, 6));
7673 assert(funcFwd(Date(2010, 9, 3)) == Date(2010, 9, 6));
7674 assert(funcFwd(Date(2010, 9, 4)) == Date(2010, 9, 6));
7675 assert(funcFwd(Date(2010, 9, 5)) == Date(2010, 9, 6));
7676 assert(funcFwd(Date(2010, 9, 6)) == Date(2010, 9, 13));
7677 assert(funcFwd(Date(2010, 9, 7)) == Date(2010, 9, 13));
7679 assert(funcBwd(Date(2010, 8, 28)) == Date(2010, 8, 23));
7680 assert(funcBwd(Date(2010, 8, 29)) == Date(2010, 8, 23));
7681 assert(funcBwd(Date(2010, 8, 30)) == Date(2010, 8, 23));
7682 assert(funcBwd(Date(2010, 8, 31)) == Date(2010, 8, 30));
7683 assert(funcBwd(Date(2010, 9, 1)) == Date(2010, 8, 30));
7684 assert(funcBwd(Date(2010, 9, 2)) == Date(2010, 8, 30));
7685 assert(funcBwd(Date(2010, 9, 3)) == Date(2010, 8, 30));
7686 assert(funcBwd(Date(2010, 9, 4)) == Date(2010, 8, 30));
7687 assert(funcBwd(Date(2010, 9, 5)) == Date(2010, 8, 30));
7688 assert(funcBwd(Date(2010, 9, 6)) == Date(2010, 8, 30));
7689 assert(funcBwd(Date(2010, 9, 7)) == Date(2010, 9, 6));
7996 import std.datetime.date : AllowDayOverflow, Date;
7998 auto interval = Interval!Date(Date(2010, 9, 2), Date(2025, 9, 27));
7999 auto func = everyDuration!Date(4, 1, AllowDayOverflow.yes, dur!"days"(2));
8003 assert(range.front == Date(2010, 9, 2));
8006 assert(range.front == Date(2014, 10, 4));
8009 assert(range.front == Date(2018, 11, 6));
8012 assert(range.front == Date(2022, 12, 8));
8024 auto funcFwd = everyDuration!Date(1, 2, AllowDayOverflow.yes, dur!"days"(3));
8025 … auto funcBwd = everyDuration!(Date, Direction.bwd)(1, 2, AllowDayOverflow.yes, dur!"days"(3));
8027 assert(funcFwd(Date(2009, 12, 25)) == Date(2011, 2, 28));
8028 assert(funcFwd(Date(2009, 12, 26)) == Date(2011, 3, 1));
8029 assert(funcFwd(Date(2009, 12, 27)) == Date(2011, 3, 2));
8030 assert(funcFwd(Date(2009, 12, 28)) == Date(2011, 3, 3));
8031 assert(funcFwd(Date(2009, 12, 29)) == Date(2011, 3, 4));
8033 assert(funcBwd(Date(2011, 2, 28)) == Date(2009, 12, 25));
8034 assert(funcBwd(Date(2011, 3, 1)) == Date(2009, 12, 26));
8035 assert(funcBwd(Date(2011, 3, 2)) == Date(2009, 12, 27));
8036 assert(funcBwd(Date(2011, 3, 3)) == Date(2009, 12, 28));
8037 assert(funcBwd(Date(2011, 3, 4)) == Date(2010, 1, 1));
8041 auto funcFwd = everyDuration!Date(1, 2, AllowDayOverflow.no, dur!"days"(3));
8042 … auto funcBwd = everyDuration!(Date, Direction.bwd)(1, 2, AllowDayOverflow.yes, dur!"days"(3));
8044 assert(funcFwd(Date(2009, 12, 25)) == Date(2011, 2, 28));
8045 assert(funcFwd(Date(2009, 12, 26)) == Date(2011, 3, 1));
8046 assert(funcFwd(Date(2009, 12, 27)) == Date(2011, 3, 2));
8047 assert(funcFwd(Date(2009, 12, 28)) == Date(2011, 3, 3));
8048 assert(funcFwd(Date(2009, 12, 29)) == Date(2011, 3, 3));
8050 assert(funcBwd(Date(2011, 2, 28)) == Date(2009, 12, 25));
8051 assert(funcBwd(Date(2011, 3, 1)) == Date(2009, 12, 26));
8052 assert(funcBwd(Date(2011, 3, 2)) == Date(2009, 12, 27));
8053 assert(funcBwd(Date(2011, 3, 3)) == Date(2009, 12, 28));
8054 assert(funcBwd(Date(2011, 3, 4)) == Date(2010, 1, 1));
8057 assert(everyDuration!Date(1, 2, AllowDayOverflow.yes, dur!"hnsecs"(1)) !is null);
8072 the interval `Interval!Date`, pass a function to $(LREF Interval)'s
8076 over the $(REF Date,std,datetime,date)s in the interval.
8307 static assert(isInputRange!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8308 static assert(isForwardRange!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8313 static assert(!isBidirectionalRange!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8314 static assert(!isRandomAccessRange!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8315 static assert(!hasSwappableElements!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8316 static assert(!hasAssignableElements!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8317 static assert(!hasLength!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8318 static assert(!isInfinite!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8319 static assert(!hasSlicing!(IntervalRange!(Date, Direction.fwd))); in opAssign()
8321 static assert(is(ElementType!(IntervalRange!(Date, Direction.fwd)) == Date)); in opAssign()
8334 Date dateFunc(scope const Date date) { return date; } in dateFunc()
8335 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8336 auto ir = IntervalRange!(Date, Direction.fwd)(interval, &dateFunc);
8366 …auto range = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 21)).fwdRange(everyDayOfWeek!Date(DayO…
8372 …const cRange = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).fwdRange(everyDayOfWeek!Date(DayO…
8381 auto range = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 21)).bwdRange(
8382 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri));
8388 const cRange = Interval!Date( Date(2010, 7, 4), Date(2012, 1, 7)).bwdRange(
8389 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri));
8404 auto emptyRange = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 20)).fwdRange(
8405 everyDayOfWeek!Date(DayOfWeek.wed), PopFirst.yes);
8407 (scope const IntervalRange!(Date, Direction.fwd) range){range.front;}(emptyRange));
8409 …auto range = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).fwdRange(everyDayOfWeek!Date(DayOfW…
8410 assert(range.front == Date(2010, 7, 4));
8412 auto poppedRange = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).fwdRange(
8413 everyDayOfWeek!Date(DayOfWeek.wed), PopFirst.yes);
8414 assert(poppedRange.front == Date(2010, 7, 7));
8416 …const cRange = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).fwdRange(everyDayOfWeek!Date(DayO…
8417 assert(cRange.front != Date.init);
8422 auto emptyRange = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 20)).bwdRange(
8423 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.wed), PopFirst.yes);
8425 (scope const IntervalRange!(Date, Direction.bwd) range){range.front;}(emptyRange));
8427 auto range = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).bwdRange(
8428 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.wed));
8429 assert(range.front == Date(2012, 1, 7));
8431 auto poppedRange = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).bwdRange(
8432 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.wed), PopFirst.yes);
8433 assert(poppedRange.front == Date(2012, 1, 4));
8435 const cRange = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).bwdRange(
8436 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri));
8437 assert(cRange.front != Date.init);
8449 auto emptyRange = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 20)).fwdRange(
8450 everyDayOfWeek!Date(DayOfWeek.wed), PopFirst.yes);
8451 …assertThrown!DateTimeException((IntervalRange!(Date, Direction.fwd) range){range.popFront();}(empt…
8453 auto range = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).fwdRange(
8454 everyDayOfWeek!Date(DayOfWeek.wed), PopFirst.yes);
8465 …const cRange = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).fwdRange(everyDayOfWeek!Date(DayO…
8466 assert(cRange.front != Date.init);
8471 auto emptyRange = Interval!Date(Date(2010, 9, 19), Date(2010, 9, 20)).bwdRange(
8472 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.wed), PopFirst.yes);
8473 …assertThrown!DateTimeException((IntervalRange!(Date, Direction.bwd) range){range.popFront();}(empt…
8475 auto range = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).bwdRange(
8476 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.wed), PopFirst.yes);
8487 const cRange = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7)).bwdRange(
8488 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri));
8500 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8501 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);
8524 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8525 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);
8554 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8555 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);
8578 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8579 auto func = everyDayOfWeek!Date(DayOfWeek.fri);
8590 auto interval = Interval!Date(Date(2010, 7, 4), Date(2012, 1, 7));
8591 auto func = everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri);
8610 over all of the days in the interval `PosInfInterval!Date`, pass a
8615 $(REF Date,std,datetime,date)s in the interval - though obviously, since the
8753 static assert(isInputRange!(PosInfIntervalRange!Date)); in opAssign()
8754 static assert(isForwardRange!(PosInfIntervalRange!Date)); in opAssign()
8755 static assert(isInfinite!(PosInfIntervalRange!Date)); in opAssign()
8759 static assert(!isBidirectionalRange!(PosInfIntervalRange!Date)); in opAssign()
8760 static assert(!isRandomAccessRange!(PosInfIntervalRange!Date)); in opAssign()
8761 static assert(!hasSwappableElements!(PosInfIntervalRange!Date)); in opAssign()
8762 static assert(!hasAssignableElements!(PosInfIntervalRange!Date)); in opAssign()
8763 static assert(!hasLength!(PosInfIntervalRange!Date)); in opAssign()
8764 static assert(!hasSlicing!(PosInfIntervalRange!Date)); in opAssign()
8766 static assert(is(ElementType!(PosInfIntervalRange!Date) == Date)); in opAssign()
8779 Date dateFunc(scope const Date date) { return date; } in dateFunc()
8780 auto posInfInterval = PosInfInterval!Date(Date(2010, 7, 4));
8781 auto ir = PosInfIntervalRange!Date(posInfInterval, &dateFunc);
8808 auto range = PosInfInterval!Date(Date(2010, 7, 4)).fwdRange(everyDayOfWeek!Date(DayOfWeek.wed));
8809 assert(range.front == Date(2010, 7, 4));
8811 …auto poppedRange = PosInfInterval!Date(Date(2010, 7, 4)).fwdRange(everyDayOfWeek!Date(DayOfWeek.we…
8812 assert(poppedRange.front == Date(2010, 7, 7));
8814 … const cRange = PosInfInterval!Date(Date(2010, 7, 4)).fwdRange(everyDayOfWeek!Date(DayOfWeek.fri));
8815 assert(cRange.front != Date.init);
8824 …auto range = PosInfInterval!Date(Date(2010, 7, 4)).fwdRange(everyDayOfWeek!Date(DayOfWeek.wed), Po…
8833 … const cRange = PosInfInterval!Date(Date(2010, 7, 4)).fwdRange(everyDayOfWeek!Date(DayOfWeek.fri));
8842 auto interval = PosInfInterval!Date(Date(2010, 7, 4));
8843 auto func = everyDayOfWeek!Date(DayOfWeek.fri);
8854 auto interval = PosInfInterval!Date(Date(2010, 7, 4));
8855 auto func = everyDayOfWeek!Date(DayOfWeek.fri);
8869 auto interval = PosInfInterval!Date(Date(2010, 7, 4));
8870 auto func = everyDayOfWeek!Date(DayOfWeek.fri);
8885 `NegInfInterval!Date`, pass a function to `NegInfInterval`'s
8889 iterate over the $(REF Date,std,datetime,date)s in the interval - though
9036 static assert(isInputRange!(NegInfIntervalRange!Date));
9037 static assert(isForwardRange!(NegInfIntervalRange!Date));
9038 static assert(isInfinite!(NegInfIntervalRange!Date));
9042 static assert(!isBidirectionalRange!(NegInfIntervalRange!Date));
9043 static assert(!isRandomAccessRange!(NegInfIntervalRange!Date));
9044 static assert(!hasSwappableElements!(NegInfIntervalRange!Date));
9045 static assert(!hasAssignableElements!(NegInfIntervalRange!Date));
9046 static assert(!hasLength!(NegInfIntervalRange!Date));
9047 static assert(!hasSlicing!(NegInfIntervalRange!Date));
9049 static assert(is(ElementType!(NegInfIntervalRange!Date) == Date));
9061 Date dateFunc(scope const Date date) { return date; } in dateFunc()
9062 auto negInfInterval = NegInfInterval!Date(Date(2012, 1, 7));
9063 auto ir = NegInfIntervalRange!Date(negInfInterval, &dateFunc);
9090 …auto range = NegInfInterval!Date(Date(2012, 1, 7)).bwdRange(everyDayOfWeek!(Date, Direction.bwd)(D…
9091 assert(range.front == Date(2012, 1, 7));
9093 auto poppedRange = NegInfInterval!Date(Date(2012, 1, 7)).bwdRange(
9094 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.wed), PopFirst.yes);
9095 assert(poppedRange.front == Date(2012, 1, 4));
9097 …const cRange = NegInfInterval!Date(Date(2012, 1, 7)).bwdRange(everyDayOfWeek!(Date, Direction.bwd)…
9098 assert(cRange.front != Date.init);
9107 auto range = NegInfInterval!Date(Date(2012, 1, 7)).bwdRange(
9108 everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.wed), PopFirst.yes);
9117 …const cRange = NegInfInterval!Date(Date(2012, 1, 7)).bwdRange(everyDayOfWeek!(Date, Direction.bwd)…
9126 auto interval = NegInfInterval!Date(Date(2012, 1, 7));
9127 auto func = everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri);
9138 auto interval = NegInfInterval!Date(Date(2012, 1, 7));
9139 auto func = everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri);
9153 auto interval = NegInfInterval!Date(Date(2012, 1, 7));
9154 auto func = everyDayOfWeek!(Date, Direction.bwd)(DayOfWeek.fri);