def testTwoRuleSet(self): """Test two RecurrenceRules composed into a RuleSet.""" ruleSetItem = RecurrenceRuleSet(None, view=self.rep.view) ruleItem = self._createBasicItem('weekly') ruleSetItem.addRule(ruleItem) ruleSet = ruleSetItem.createDateUtilFromRule(self.start) #rrulesets support the rrule interface self._testRRule('weekly', ruleSet) ruleItem = self._createBasicItem('monthly') ruleSetItem.addRule(ruleItem) self._testCombined(ruleSetItem.createDateUtilFromRule(self.start))
def testTwoRuleSet(self): """Test two RecurrenceRules composed into a RuleSet.""" ruleSetItem = RecurrenceRuleSet(None, itsView=self.view) ruleItem = self._createBasicItem('weekly') ruleSetItem.addRule(ruleItem) ruleSet = ruleSetItem.createDateUtilFromRule(self.start) #rrulesets support the rrule interface self._testRRule('weekly', ruleSet) ruleItem = self._createBasicItem('monthly') ruleSetItem.addRule(ruleItem) self._testCombined(ruleSetItem.createDateUtilFromRule(self.start))
def testRuleSetFromDateUtil(self): ruleSet = dateutil.rrule.rruleset() for freq in 'weekly', 'monthly': ruleSet.rrule(self._createBasicDateUtil(freq)) ruleSetItem = RecurrenceRuleSet(None, itsView=self.view) ruleSetItem.setRuleFromDateUtil(ruleSet) self._testCombined(ruleSetItem.createDateUtilFromRule(self.start)) # test setting a rule instead of a ruleset ruleSetItem.setRuleFromDateUtil(self._createBasicDateUtil('weekly')) self._testRRule('weekly',ruleSetItem.createDateUtilFromRule(self.start)) # test raising an exception when setting a non-rrule or rruleset self.assertRaises(TypeError, ruleSetItem.setRuleFromDateUtil, 0)
def testRuleSetFromDateUtil(self): ruleSet = dateutil.rrule.rruleset() for freq in 'weekly', 'monthly': ruleSet.rrule(self._createBasicDateUtil(freq)) ruleSetItem = RecurrenceRuleSet(None, view=self.rep.view) ruleSetItem.setRuleFromDateUtil(ruleSet) self._testCombined(ruleSetItem.createDateUtilFromRule(self.start)) # test setting a rule instead of a ruleset ruleSetItem.setRuleFromDateUtil(self._createBasicDateUtil('weekly')) self._testRRule('weekly', ruleSetItem.createDateUtilFromRule(self.start)) # test raising an exception when setting a non-rrule or rruleset self.assertRaises(TypeError, ruleSetItem.setRuleFromDateUtil, 0)
def testExDate(self): ruleSet = dateutil.rrule.rruleset() for freq in 'weekly', 'monthly': ruleSet.rrule(self._createBasicDateUtil(freq)) ruleSet.exdate(self.start) ruleSetItem = RecurrenceRuleSet(None, view=self.rep.view) ruleSetItem.setRuleFromDateUtil(ruleSet) identityTransformed = ruleSetItem.createDateUtilFromRule(self.start) self.assertNotEqual(self.start, identityTransformed[0])
def testExDate(self): ruleSet = dateutil.rrule.rruleset() for freq in 'weekly', 'monthly': ruleSet.rrule(self._createBasicDateUtil(freq)) ruleSet.exdate(self.start) ruleSetItem = RecurrenceRuleSet(None, itsView=self.view) ruleSetItem.setRuleFromDateUtil(ruleSet) identityTransformed = ruleSetItem.createDateUtilFromRule(self.start) self.assertNotEqual(self.start, identityTransformed[0])
def testExRule(self): ruleSet = dateutil.rrule.rruleset() for freq in 'weekly', 'monthly': ruleSet.rrule(self._createBasicDateUtil(freq)) exrule = dateutil.rrule.rrule(WEEKLY, count=10, dtstart=self.start) ruleSet.exrule(exrule) ruleSetItem = RecurrenceRuleSet(None, view=self.rep.view) ruleSetItem.setRuleFromDateUtil(ruleSet) identityTransformed = ruleSetItem.createDateUtilFromRule(self.start) # The monthly rule dates aren't in the exclusion rule self.assertEqual(identityTransformed[0], self.start + timedelta(days=31)) self.assertEqual(identityTransformed.count(), self.weekly['count'] + self.monthly['count'] - 1 - 10)
def testExRule(self): ruleSet = dateutil.rrule.rruleset() for freq in 'weekly', 'monthly': ruleSet.rrule(self._createBasicDateUtil(freq)) exrule = dateutil.rrule.rrule(WEEKLY, count=10, dtstart=self.start) ruleSet.exrule(exrule) ruleSetItem = RecurrenceRuleSet(None, itsView=self.view) ruleSetItem.setRuleFromDateUtil(ruleSet) identityTransformed = ruleSetItem.createDateUtilFromRule(self.start) # The monthly rule dates aren't in the exclusion rule self.assertEqual(identityTransformed[0],self.start + timedelta(days=31)) self.assertEqual(identityTransformed.count(), self.weekly['count'] + self.monthly['count'] - 1 - 10)
def testRDate(self): ruleSet = dateutil.rrule.rruleset() for freq in 'weekly', 'monthly': ruleSet.rrule(self._createBasicDateUtil(freq)) ruleSet.rdate(self.start + timedelta(days=1)) ruleSet.rdate(self.start + timedelta(days=2)) ruleSetItem = RecurrenceRuleSet(None, view=self.rep.view) ruleSetItem.setRuleFromDateUtil(ruleSet) self.assertEqual(ruleSetItem.rdates[0], self.start + timedelta(days=1)) identityTransformed = ruleSetItem.createDateUtilFromRule(self.start) self.assertEqual(identityTransformed[2], self.start + timedelta(days=2)) self.assertEqual(identityTransformed.count(), self.weekly['count'] + self.monthly['count'] - 1 + 2)
def testRDate(self): ruleSet = dateutil.rrule.rruleset() for freq in 'weekly', 'monthly': ruleSet.rrule(self._createBasicDateUtil(freq)) ruleSet.rdate(self.start + timedelta(days=1)) ruleSet.rdate(self.start + timedelta(days=2)) ruleSetItem = RecurrenceRuleSet(None, itsView=self.view) ruleSetItem.setRuleFromDateUtil(ruleSet) self.assertEqual(ruleSetItem.rdates[0], self.start + timedelta(days=1)) identityTransformed = ruleSetItem.createDateUtilFromRule(self.start) self.assertEqual(identityTransformed[2], self.start + timedelta(days=2)) self.assertEqual(identityTransformed.count(), self.weekly['count'] + self.monthly['count'] - 1 + 2)