-
Daniele Nicolodi authoredDaniele Nicolodi authored
test_duration.py 2.60 KiB
import unittest
from duration import Duration
class TestDuration(unittest.TestCase):
def test_formatting(self):
d = Duration(1)
self.assertEqual(format(d, '%1S'), '1')
self.assertEqual(format(d, '%S'), '01')
self.assertEqual(format(d, '%H:%M:%S'), '00:00:01')
self.assertEqual(format(d, '%D:%H:%M:%S'), '0:00:00:01')
self.assertEqual(format(d, '%D days %02H:%02M:%02S'), '0 days 00:00:01')
d = Duration(60 + 1)
self.assertEqual(format(d, '%S'), '61')
self.assertEqual(format(d, '%H:%M:%S'), '00:01:01')
self.assertEqual(format(d, '%D:%H:%M:%S'), '0:00:01:01')
self.assertEqual(format(d, '%D days %02H:%02M:%02S'), '0 days 00:01:01')
d = Duration(3600 + 60 + 1)
self.assertEqual(format(d, '%S'), '3661')
self.assertEqual(format(d, '%H:%M:%S'), '01:01:01')
self.assertEqual(format(d, '%D:%H:%M:%S'), '0:01:01:01')
self.assertEqual(format(d, '%D days %02H:%02M:%02S'), '0 days 01:01:01')
d = Duration(86400 + 3600 + 60 + 1)
self.assertEqual(format(d, '%S'), '90061')
self.assertEqual(format(d, '%H:%M:%S'), '25:01:01')
self.assertEqual(format(d, '%D:%H:%M:%S'), '1:01:01:01')
self.assertEqual(format(d, '%D days %02H:%02M:%02S'), '1 days 01:01:01')
d = Duration(-1)
self.assertEqual(format(d, '%S'), '-1')
self.assertEqual(format(d, '%H:%M:%S'), '-0:00:01')
self.assertEqual(format(d, '%D:%H:%M:%S'), '-0:00:00:01')
self.assertEqual(format(d, '%D days %02H:%02M:%02S'), '-0 days 00:00:01')
d = Duration(-(60 + 1))
self.assertEqual(format(d, '%S'), '-61')
self.assertEqual(format(d, '%H:%M:%S'), '-0:01:01')
self.assertEqual(format(d, '%D:%H:%M:%S'), '-0:00:01:01')
self.assertEqual(format(d, '%D days %02H:%02M:%02S'), '-0 days 00:01:01')
d = Duration(-(3600 + 60 + 1))
self.assertEqual(format(d, '%S'), '-3661')
self.assertEqual(format(d, '%H:%M:%S'), '-1:01:01')
self.assertEqual(format(d, '%D:%H:%M:%S'), '-0:01:01:01')
self.assertEqual(format(d, '%D days %02H:%02M:%02S'), '-0 days 01:01:01')
d = Duration(-(86400 + 3600 + 60 + 1))
self.assertEqual(format(d, '%S'), '-90061')
self.assertEqual(format(d, '%H:%M:%S'), '-25:01:01')
self.assertEqual(format(d, '%D:%H:%M:%S'), '-1:01:01:01')
self.assertEqual(format(d, '%D days %02H:%02M:%02S'), '-1 days 01:01:01')
def test_formatting_default(self):
self.assertEqual(format(Duration( 3661)), '01h01')
self.assertEqual(format(Duration(-3661)), '-01h01')