def sample(self): offset = PyDuration(seconds=int(self._helperDistribution.sample())) beginning = self.now(Timezone(tzid=self._tzname)) while offset: start, end = self._findWorkAfter(beginning) if end - start > offset: result = start + offset result.setMinutes(result.getMinutes() // 15 * 15) result.setSeconds(0) return result offset.setDuration(offset.getTotalSeconds() - (end - start).getTotalSeconds()) beginning = end
def testParse(self): for seconds, result in TestDuration.test_data: duration = Duration().parseText(result) self.assertEqual(duration.getTotalSeconds(), seconds)
def testParse(self): for seconds, result in TestDuration.test_data: duration = Duration().parseText(result) self.assertEqual(duration.getTotalSeconds(), seconds)