def runTest(self): ses = Session("Test", 60*7) ses.add_rule("1er jour des 6", freq=rrule.DAILY, dtstart=datetime.date(2011, 8, 20), interval=6, until=datetime.date(2021, 8, 30)) result_expected = 256620 result = ses.total_duration assert result == result_expected, "bad result ? got %s instead of %s" % (result, result_expected)
def setUp(self): self.ses1 = Session("Test1", duration=60 * 8, start_hour=13, start_minute=30) self.ses2 = Session("Test2", duration=60 * 3, start_hour=12, start_minute=00) self.ses3 = Session("Test3", duration=60 * 3, start_hour=15, start_minute=00) self.ses4 = Session("Test4", duration=60 * 3, start_hour=20, start_minute=00) self.ses5 = Session("Test5", duration=60 * 3, start_hour=23, start_minute=00) self.ses1.add_rule("", freq=rrule.DAILY, dtstart=datetime.date(2011, 8, 20), interval=2) self.ses2.add_rule("", freq=rrule.DAILY, dtstart=datetime.date(2011, 8, 20), interval=2) self.ses3.add_rule("", freq=rrule.DAILY, dtstart=datetime.date(2011, 8, 20), interval=2) self.ses4.add_rule("", freq=rrule.DAILY, dtstart=datetime.date(2011, 8, 20), interval=2) self.ses5.add_rule("", freq=rrule.DAILY, dtstart=datetime.date(2011, 8, 20), interval=2)
def runTest(self): ses = Session("Test", 60*9) ses.add_rule( "2eme jour des 3", freq=rrule.DAILY, dtstart=datetime.date(2011, 8, 20) + relativedelta(days=+1), interval=3, until=datetime.date(2021, 8, 30)) result_expected = 659340 result = ses.total_duration assert result == result_expected, "bad result ? got %s instead of %s" % (result, result_expected)
class TestSessionSub3(TestSession): def setUp(self): TestSession.setUp(self) self.ses_p2 = Session("Test2", duration=60*3, start_hour=11, start_minute=30) self.ses_p2.add_rule( "Tous les jours", freq=rrule.DAILY, dtstart=datetime.date(2021, 8, 15), interval=1, until=datetime.date(2022, 6, 30)) self.result_list = self.ses_p - self.ses_p2 def test_1(self): assert datetime.datetime(2011, 8, 20, 13, 45) in self.result_list def test_2(self): assert datetime.datetime(2011, 8, 20, 11, 00) not in self.result_list def test_3(self): assert datetime.datetime(2011, 8, 20, 13, 45) in self.result_list def test_4(self): assert datetime.datetime(2011, 8, 23, 15, 00) not in self.result_list def test_5(self): assert datetime.datetime(2011, 8, 30, 12, 00) not in self.result_list def test_6(self): assert datetime.datetime(2011, 8, 30, 15, 00) not in self.result_list def test_7(self): assert datetime.datetime(2011, 9, 1, 13, 45) in self.result_list def test_8(self): assert datetime.datetime(2021, 8, 15, 15, 00) in self.result_list def test_9(self): assert datetime.datetime(2021, 8, 15, 13, 45) not in self.result_list def test_10(self): assert datetime.datetime(2021, 8, 29, 15, 00) in self.result_list def test_11(self): assert datetime.datetime(2021, 8, 29, 13, 45) not in self.result_list def test_12(self): assert datetime.datetime(2022, 6, 30, 13, 45) not in self.result_list def test_13(self): assert datetime.datetime(2022, 6, 30, 11, 00) not in self.result_list
class TestSessionSubSpecialCases(TestSession): def setUp(self): TestSession.setUp(self) self.ses_p2 = Session("Test2", duration=60*3, start_hour=11, start_minute=30) self.ses_p2.add_rule( "Tous les jours", freq=rrule.DAILY, dtstart=datetime.date(2021, 8, 15), interval=1, until=datetime.date(2022, 6, 30)) self.result_list = self.ses_p + self.ses_p2 def test_1(self): assert self.ses_p - None == self.ses_p def test_2(self): assert len(self.ses_p - self.ses_p) == 0
def setUp(self): TestSession.setUp(self) self.ses_p2 = Session("Test2", duration=60*3, start_hour=11, start_minute=30) self.ses_p2.add_rule( "Tous les jours", freq=rrule.DAILY, dtstart=datetime.date(2021, 8, 15), interval=1, until=datetime.date(2022, 6, 30)) self.result_list = self.ses_p + self.ses_p2
class TestSessionSub5(TestSession): """In this test, the intervals are completely disjoints, so a - b == a and b - a == b """ def setUp(self): TestSession.setUp(self) self.ses_p2 = Session("Test2", duration=32, start_hour=11, start_minute=00) self.ses_p2.add_rule( "Tous les jours", freq=rrule.DAILY, dtstart=datetime.date(2011, 9, 15), interval=1, until=datetime.date(2011, 12, 30)) self.result_list = self.ses_p - self.ses_p2 def test_1(self): assert self.result_list == self.ses_p def test_2(self): result2 = self.ses_p2 - self.ses_p assert result2 == self.ses_p2
class TestSessionSub4(TestSession): """In this test, the B interval is within A, so sub should result in spltting this results in two intervals""" def setUp(self): TestSession.setUp(self) self.ses_p2 = Session("Test2", duration=37, start_hour=15, start_minute=30) self.ses_p2.add_rule( "Tous les jours", freq=rrule.DAILY, dtstart=datetime.date(2011, 9, 15), interval=1, until=datetime.date(2011, 12, 30)) self.result_list = self.ses_p - self.ses_p2 def test_1(self): assert datetime.datetime(2011, 9, 15, 13, 45) in self.result_list def test_2(self): assert datetime.datetime(2011, 9, 15, 15, 45) not in self.result_list def test_3(self): assert datetime.datetime(2011, 9, 15, 16, 45) in self.result_list
def setUp(self): self.ses_p = Session("Test", duration=60*8, start_hour=13, start_minute=30) self.ses_p.add_rule("1er jour des 6", freq=rrule.DAILY, dtstart=datetime.date(2011, 8, 20), interval=6, until=datetime.date(2021, 8, 30)) self.ses_p.add_rule( "2eme jour des 6", freq=rrule.DAILY, dtstart=datetime.date(2011, 8, 20) + relativedelta(days=+1), interval=6, until=datetime.date(2021, 8, 30)) self.ses_p.add_rule( "3eme jour des 6", freq=rrule.DAILY, dtstart=datetime.date(2011, 8, 20) + relativedelta(days=+2), interval=6, until=datetime.date(2021, 8, 30))