Esempio n. 1
0
    def test__diff(self):
        d1 = BusinessDate.from_ymd(2016, 1, 31)
        d2 = BusinessDate.from_ymd(2017, 11, 1)

        diff = BusinessDate.diff(d1, d2)
        diff = BusinessPeriod(years=diff[0], months=diff[1], days=diff[2])
        self.assertEqual('1Y9M1D', diff.to_string())

        d1 = BusinessDate.from_ymd(2016, 2, 29)
        d2 = BusinessDate.from_ymd(2017, 3, 1)

        diff = BusinessDate.diff(d1, d2)
        diff = BusinessPeriod(years=diff[0], months=diff[1], days=diff[2])
        self.assertEqual('1Y1D', diff.to_string())

        d2 = BusinessDate.from_ymd(2017, 2, 28)

        diff = BusinessDate.diff(d1, d2)
        diff = BusinessPeriod(years=diff[0], months=diff[1], days=diff[2])
        self.assertEqual('1Y', diff.to_string())

        d1 = BusinessDate.from_ymd(2016, 11, 15)
        d2 = BusinessDate.from_ymd(2017, 1, 15)

        diff = BusinessDate.diff(d1, d2)
        diff = BusinessPeriod(years=diff[0], months=diff[1], days=diff[2])
        self.assertEqual('2M', diff.to_string())

        d1 = BusinessDate.from_ymd(2015, 7, 31)
        d2 = BusinessDate.from_ymd(2017, 2, 20)

        diff = BusinessDate.diff(d1, d2)
        diff = BusinessPeriod(years=diff[0], months=diff[1], days=diff[2])
        self.assertEqual('1Y6M20D', diff.to_string())
Esempio n. 2
0
    def test__diff(self):
        d1 = BusinessDate.from_ymd(2016, 1, 31)
        d2 = BusinessDate.from_ymd(2017, 11, 1)

        y, m, d = BusinessDate.diff(d2, d1)
        diff = BusinessPeriod(years=y, months=m, days=d)
        self.assertEqual('1Y9M1D', diff.to_string())

        d1 = BusinessDate.from_ymd(2016, 2, 29)
        d2 = BusinessDate.from_ymd(2017, 3, 1)

        y, m, d = BusinessDate.diff(d2, d1)
        diff = BusinessPeriod(years=y, months=m, days=d)
        self.assertEqual('1Y1D', diff.to_string())

        d2 = BusinessDate.from_ymd(2017, 2, 28)

        y, m, d = BusinessDate.diff(d2, d1)
        diff = BusinessPeriod(years=y, months=m, days=d)
        self.assertEqual('1Y', diff.to_string())

        d1 = BusinessDate.from_ymd(2016, 11, 15)
        d2 = BusinessDate.from_ymd(2017, 1, 15)

        y, m, d = BusinessDate.diff(d2, d1)
        diff = BusinessPeriod(years=y, months=m, days=d)
        self.assertEqual('2M', diff.to_string())

        d1 = BusinessDate.from_ymd(2015, 7, 31)
        d2 = BusinessDate.from_ymd(2017, 2, 20)

        y, m, d = BusinessDate.diff(d2, d1)
        diff = BusinessPeriod(years=y, months=m, days=d)
        self.assertEqual('1Y6M20D', diff.to_string())
Esempio n. 3
0
    def test__diff(self):
        d1 = BusinessDate.from_ymd(2016, 1, 31)
        d2 = BusinessDate.from_ymd(2017, 11, 1)

        diff = BusinessDate.diff(d1, d2)
        diff = BusinessPeriod(years=diff[0], months=diff[1], days=diff[2])
        self.assertEqual('1Y9M1D', diff.to_string())

        d1 = BusinessDate.from_ymd(2016, 2, 29)
        d2 = BusinessDate.from_ymd(2017, 3, 1)

        diff = BusinessDate.diff(d1, d2)
        diff = BusinessPeriod(years=diff[0], months=diff[1], days=diff[2])
        self.assertEqual('1Y1D', diff.to_string())

        d2 = BusinessDate.from_ymd(2017, 2, 28)

        diff = BusinessDate.diff(d1, d2)
        diff = BusinessPeriod(years=diff[0], months=diff[1], days=diff[2])
        self.assertEqual('1Y', diff.to_string())

        d1 = BusinessDate.from_ymd(2016, 11, 15)
        d2 = BusinessDate.from_ymd(2017, 1, 15)

        diff = BusinessDate.diff(d1, d2)
        diff = BusinessPeriod(years=diff[0], months=diff[1], days=diff[2])
        self.assertEqual('2M', diff.to_string())

        d1 = BusinessDate.from_ymd(2015, 7, 31)
        d2 = BusinessDate.from_ymd(2017, 2, 20)

        diff = BusinessDate.diff(d1, d2)
        diff = BusinessPeriod(years=diff[0], months=diff[1], days=diff[2])
        self.assertEqual('1Y6M20D', diff.to_string())
Esempio n. 4
0
    def test_diff(self):
        d1 = BusinessDate.from_ymd(2016, 1, 31)
        d2 = BusinessDate.from_ymd(2017, 11, 1)

        y, m, d = BusinessDate.diff_in_ymd(d1, d2)
        diff = BusinessPeriod(years=y, months=m, days=d)
        self.assertEqual('1Y9M1D', str(diff))

        d1 = BusinessDate.from_ymd(2016, 2, 29)
        d2 = BusinessDate.from_ymd(2017, 3, 1)

        y, m, d = BusinessDate.diff_in_ymd(d1, d2)
        diff = BusinessPeriod(years=y, months=m, days=d)
        self.assertEqual('1Y1D', str(diff))

        d2 = BusinessDate.from_ymd(2017, 2, 28)

        y, m, d = BusinessDate.diff_in_ymd(d1, d2)
        diff = BusinessPeriod(years=y, months=m, days=d)
        self.assertEqual('11M30D', str(diff))

        d1 = BusinessDate.from_ymd(2016, 11, 15)
        d2 = BusinessDate.from_ymd(2017, 1, 15)

        y, m, d = BusinessDate.diff_in_ymd(d1, d2)
        diff = BusinessPeriod(years=y, months=m, days=d)
        self.assertEqual('2M', str(diff))

        d1 = BusinessDate.from_ymd(2015, 7, 31)
        d2 = BusinessDate.from_ymd(2017, 2, 20)

        y, m, d = BusinessDate.diff_in_ymd(d1, d2)
        diff = BusinessPeriod(years=y, months=m, days=d)
        self.assertEqual('1Y6M20D', str(diff))
Esempio n. 5
0
    def test_is_business_date(self):
        d = self.dec31
        holi = BusinessHolidays()
        bdate = BusinessDate.from_ymd(2016, 1, 1)
        is_bday_empty_calendar = bdate.is_business_day(holi)
        self.assertTrue(is_bday_empty_calendar)
        is_bday_default_calendar = bdate.is_business_day()
        self.assertFalse(is_bday_default_calendar)

        target_a= BusinessDate.from_ymd(2016, 1, 4)
        a = d.add_business_days(2, holi)
        self.assertEqual(target_a, a)
        target_b = BusinessDate.from_ymd(2016, 1, 5)
        b = d.add_business_days(2) # default holidays contains the target days, i.e. the 1.1.2016
        self.assertEqual(target_b, b)
Esempio n. 6
0
    def test_is_business_date(self):
        d = self.dec31
        holi = BusinessHolidays()
        bdate = BusinessDate.from_ymd(2016, 1, 1)
        is_bday_empty_calendar = bdate.is_business_day(holi)
        self.assertTrue(is_bday_empty_calendar)
        is_bday_default_calendar = bdate.is_business_day()
        self.assertFalse(is_bday_default_calendar)

        target_a = BusinessDate.from_ymd(2016, 1, 4)
        a = d.add_business_days(2, holi)
        self.assertEqual(target_a, a)
        target_b = BusinessDate.from_ymd(2016, 1, 5)
        b = d.add_business_days(
            2)  # default holidays contains the target days, i.e. the 1.1.2016
        self.assertEqual(target_b, b)
Esempio n. 7
0
 def test_cast_from(self):
     for d in self.dates:
         self.assertEqual(BusinessDate.from_date(d.to_date()), d)
         self.assertEqual(BusinessDate.from_businessdate(d), d)
         self.assertEqual(BusinessDate.from_excel(d.to_excel()), d)
         self.assertEqual(BusinessDate.from_ordinal(d.to_ordinal()), d)
         self.assertEqual(BusinessDate.from_string(d.to_string()), d)
         self.assertEqual(BusinessDate.from_ymd(*d.to_ymd()), d)
Esempio n. 8
0
 def test_cast_from(self):
     for d in self.dates:
         self.assertEqual(BusinessDate.from_date(d.to_date()), d)
         self.assertEqual(BusinessDate.from_businessdate(d), d)
         self.assertEqual(BusinessDate.from_excel(d.to_excel()), d)
         self.assertEqual(BusinessDate.from_ordinal(d.to_ordinal()), d)
         self.assertEqual(BusinessDate.from_string(d.to_string()), d)
         self.assertEqual(BusinessDate.from_ymd(*d.to_ymd()), d)