def test_duration_rounding(self): # Round up rdelta = whenIO.parse_duration('1 week 4 days') self.assertEqual('2 weeks', whenIO.format_duration( rdelta, precision=1, rounding='ceiling')) self.assertEqual('1 week', whenIO.format_duration( rdelta, precision=1, rounding='floor')) self.assertEqual('2 weeks', whenIO.format_duration( rdelta, precision=1, rounding='round')) # Round down rdelta = whenIO.parse_duration('1 week 3 days') self.assertEqual('2 weeks', whenIO.format_duration( rdelta, precision=1, rounding='ceiling')) self.assertEqual('1 week', whenIO.format_duration( rdelta, precision=1, rounding='floor')) self.assertEqual('1 week', whenIO.format_duration( rdelta, precision=1, rounding='round'))
def test_duration(self): self.assertEqual('100 microseconds', whenIO.format_duration( whenIO.parse_duration('100 microseconds'))) self.assertEqual('1 second', whenIO.format_duration( whenIO.parse_duration('1000000 microseconds'))) self.assertEqual('999999 microseconds', whenIO.format_duration( whenIO.parse_duration('999999 usecs'))) self.assertEqual('5 microseconds', whenIO.format_duration( whenIO.parse_duration('5 u'))) self.assertEqual('1 week', whenIO.format_duration( whenIO.parse_duration('7 days'))) self.assertEqual('2 years', whenIO.format_duration( whenIO.parse_duration('1 year 8 months'), precision=1)) self.assertEqual('3l 2w', whenIO.format_duration( whenIO.parse_duration('3mo 9dy 23hr'), precision=2, style='letters')) self.assertEqual('2 wks', whenIO.format_duration( whenIO.parse_duration('200h'), precision=1, style='abbreviations')) # Test edge cases whenIO.parse_duration('xxx hours')