Example #1
0
    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)
Example #4
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)
Example #5
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])
Example #7
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)
Example #9
0
    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)