-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtime_format_test.py
More file actions
75 lines (66 loc) · 2.56 KB
/
time_format_test.py
File metadata and controls
75 lines (66 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import unittest
import time_format
class FormatterTest(unittest.TestCase):
def test_seconds_to_pretty_format(self):
cases = [
(300, '5m'),
(301, '5m1s'),
(299, '4m59s'),
(3600, '1h'),
(3600 * 24, '24h'),
(3661, '1h1m1s'),
(3601, '1h1s'),
]
for secs, expected in cases:
with self.subTest(expected, secs=secs, expected=expected):
self.assertEqual(expected, time_format.seconds_to_pretty_time(secs))
def test_seconds_to_clock_format(self):
cases = [
(300, '05:00'),
(301, '05:01'),
(299, '04:59'),
(3600, '1:00:00'),
(3600 * 24, '24:00:00'),
(3661, '1:01:01'),
(3601, '1:00:01'),
]
for secs, expected in cases:
with self.subTest(expected, secs=secs, expected=expected):
self.assertEqual(expected, time_format.seconds_to_clock_format(secs))
self.assertEqual('05:00', time_format.seconds_to_clock_format(300))
self.assertEqual('05:01', time_format.seconds_to_clock_format(301))
self.assertEqual('04:59', time_format.seconds_to_clock_format(299))
self.assertEqual('1:00:00', time_format.seconds_to_clock_format(3600))
self.assertEqual('24:00:00', time_format.seconds_to_clock_format(24 * 3600))
self.assertEqual('1:00:01', time_format.seconds_to_clock_format(3601))
self.assertEqual('1:01:01', time_format.seconds_to_clock_format(3661))
def test_format_pretty(self):
format = time_format.FORMATTER.format
cases = [
(300, '5m'),
(301, '5m1s'),
(299, '4m59s'),
(3600, '1h'),
(3600 * 24, '24h'),
(3661, '1h1m1s'),
(3601, '1h1s'),
]
for secs, expected in cases:
with self.subTest(expected, secs=secs, expected=expected):
self.assertEqual(expected, format('{time:pretty}', time=secs))
def test_format_pretty(self):
format = time_format.FORMATTER.format
cases = [
(300, '05:00'),
(301, '05:01'),
(299, '04:59'),
(3600, '1:00:00'),
(3600 * 24, '24:00:00'),
(3661, '1:01:01'),
(3601, '1:00:01'),
]
for secs, expected in cases:
with self.subTest(expected, secs=secs, expected=expected):
self.assertEqual(expected, format('{time:clock}', time=secs))
if __name__ == '__main__':
unittest.main()