| 4641 | |
| 4642 | @pytest.mark.rruleset |
| 4643 | class RRuleSetTest(unittest.TestCase): |
| 4644 | def testSet(self): |
| 4645 | rrset = rruleset() |
| 4646 | rrset.rrule(rrule(YEARLY, count=2, byweekday=TU, |
| 4647 | dtstart=datetime(1997, 9, 2, 9, 0))) |
| 4648 | rrset.rrule(rrule(YEARLY, count=1, byweekday=TH, |
| 4649 | dtstart=datetime(1997, 9, 2, 9, 0))) |
| 4650 | self.assertEqual(list(rrset), |
| 4651 | [datetime(1997, 9, 2, 9, 0), |
| 4652 | datetime(1997, 9, 4, 9, 0), |
| 4653 | datetime(1997, 9, 9, 9, 0)]) |
| 4654 | |
| 4655 | def testSetDate(self): |
| 4656 | rrset = rruleset() |
| 4657 | rrset.rrule(rrule(YEARLY, count=1, byweekday=TU, |
| 4658 | dtstart=datetime(1997, 9, 2, 9, 0))) |
| 4659 | rrset.rdate(datetime(1997, 9, 4, 9)) |
| 4660 | rrset.rdate(datetime(1997, 9, 9, 9)) |
| 4661 | self.assertEqual(list(rrset), |
| 4662 | [datetime(1997, 9, 2, 9, 0), |
| 4663 | datetime(1997, 9, 4, 9, 0), |
| 4664 | datetime(1997, 9, 9, 9, 0)]) |
| 4665 | |
| 4666 | def testSetExRule(self): |
| 4667 | rrset = rruleset() |
| 4668 | rrset.rrule(rrule(YEARLY, count=6, byweekday=(TU, TH), |
| 4669 | dtstart=datetime(1997, 9, 2, 9, 0))) |
| 4670 | rrset.exrule(rrule(YEARLY, count=3, byweekday=TH, |
| 4671 | dtstart=datetime(1997, 9, 2, 9, 0))) |
| 4672 | self.assertEqual(list(rrset), |
| 4673 | [datetime(1997, 9, 2, 9, 0), |
| 4674 | datetime(1997, 9, 9, 9, 0), |
| 4675 | datetime(1997, 9, 16, 9, 0)]) |
| 4676 | |
| 4677 | def testSetExDate(self): |
| 4678 | rrset = rruleset() |
| 4679 | rrset.rrule(rrule(YEARLY, count=6, byweekday=(TU, TH), |
| 4680 | dtstart=datetime(1997, 9, 2, 9, 0))) |
| 4681 | rrset.exdate(datetime(1997, 9, 4, 9)) |
| 4682 | rrset.exdate(datetime(1997, 9, 11, 9)) |
| 4683 | rrset.exdate(datetime(1997, 9, 18, 9)) |
| 4684 | self.assertEqual(list(rrset), |
| 4685 | [datetime(1997, 9, 2, 9, 0), |
| 4686 | datetime(1997, 9, 9, 9, 0), |
| 4687 | datetime(1997, 9, 16, 9, 0)]) |
| 4688 | |
| 4689 | def testSetExDateRevOrder(self): |
| 4690 | rrset = rruleset() |
| 4691 | rrset.rrule(rrule(MONTHLY, count=5, bymonthday=10, |
| 4692 | dtstart=datetime(2004, 1, 1, 9, 0))) |
| 4693 | rrset.exdate(datetime(2004, 4, 10, 9, 0)) |
| 4694 | rrset.exdate(datetime(2004, 2, 10, 9, 0)) |
| 4695 | self.assertEqual(list(rrset), |
| 4696 | [datetime(2004, 1, 10, 9, 0), |
| 4697 | datetime(2004, 3, 10, 9, 0), |
| 4698 | datetime(2004, 5, 10, 9, 0)]) |
| 4699 | |
| 4700 | def testSetDateAndExDate(self): |
nothing calls this directly
no outgoing calls
no test coverage detected