test: add format duration tests
This commit is contained in:
parent
439095116f
commit
729fc28f1b
3
tests/__init__.py
Normal file
3
tests/__init__.py
Normal file
@ -0,0 +1,3 @@
|
||||
from . import test_format_duration
|
||||
|
||||
__all__ = ["test_format_duration"]
|
50
tests/test_format_duration.py
Normal file
50
tests/test_format_duration.py
Normal file
@ -0,0 +1,50 @@
|
||||
import unittest
|
||||
|
||||
import utils
|
||||
|
||||
|
||||
class TestFormatDuration(unittest.TestCase):
|
||||
def test_default(self):
|
||||
self.assertEqual(utils.format_duration(0), "")
|
||||
self.assertEqual(utils.format_duration(60 * 60 * 24 * 7), "1 week")
|
||||
self.assertEqual(utils.format_duration(60 * 60 * 24 * 21), "3 weeks")
|
||||
self.assertEqual(
|
||||
utils.format_duration((60 * 60 * 24 * 21) - 1),
|
||||
"2 weeks, 6 days, 23 hours, 59 minutes, 59 seconds",
|
||||
)
|
||||
self.assertEqual(utils.format_duration(60), "1 minute")
|
||||
self.assertEqual(utils.format_duration(60 * 2), "2 minutes")
|
||||
self.assertEqual(utils.format_duration(60 * 59), "59 minutes")
|
||||
self.assertEqual(utils.format_duration(60 * 60), "1 hour")
|
||||
self.assertEqual(utils.format_duration(60 * 60 * 2), "2 hours")
|
||||
self.assertEqual(utils.format_duration(1), "1 second")
|
||||
self.assertEqual(utils.format_duration(60 + 5), "1 minute, 5 seconds")
|
||||
self.assertEqual(utils.format_duration(60 * 60 + 30), "1 hour, 30 seconds")
|
||||
self.assertEqual(
|
||||
utils.format_duration(60 * 60 + 60 + 30), "1 hour, 1 minute, 30 seconds"
|
||||
)
|
||||
self.assertEqual(
|
||||
utils.format_duration(60 * 60 * 24 * 7 + 30), "1 week, 30 seconds"
|
||||
)
|
||||
|
||||
def test_natural(self):
|
||||
def format(seconds: int):
|
||||
return utils.format_duration(seconds, natural=True)
|
||||
|
||||
self.assertEqual(format(0), "")
|
||||
self.assertEqual(format(60 * 60 * 24 * 7), "1 week")
|
||||
self.assertEqual(format(60 * 60 * 24 * 21), "3 weeks")
|
||||
self.assertEqual(
|
||||
format((60 * 60 * 24 * 21) - 1),
|
||||
"2 weeks, 6 days, 23 hours, 59 minutes and 59 seconds",
|
||||
)
|
||||
self.assertEqual(format(60), "1 minute")
|
||||
self.assertEqual(format(60 * 2), "2 minutes")
|
||||
self.assertEqual(format(60 * 59), "59 minutes")
|
||||
self.assertEqual(format(60 * 60), "1 hour")
|
||||
self.assertEqual(format(60 * 60 * 2), "2 hours")
|
||||
self.assertEqual(format(1), "1 second")
|
||||
self.assertEqual(format(60 + 5), "1 minute and 5 seconds")
|
||||
self.assertEqual(format(60 * 60 + 30), "1 hour and 30 seconds")
|
||||
self.assertEqual(format(60 * 60 + 60 + 30), "1 hour, 1 minute and 30 seconds")
|
||||
self.assertEqual(format(60 * 60 * 24 * 7 + 30), "1 week and 30 seconds")
|
Loading…
x
Reference in New Issue
Block a user