time: Add unit test for time.strftime.

Signed-off-by: Damien George <damien@micropython.org>
pull/508/head
Damien George 2022-12-14 11:57:16 +11:00
rodzic 8456a2aa68
commit 8d653e96db
1 zmienionych plików z 42 dodań i 0 usunięć

Wyświetl plik

@ -0,0 +1,42 @@
import time
import unittest
DAYS = ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
MONTHS = (
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December",
)
TIME_TUPLE = (2022, 12, 14, 0, 45, 17, 2, 348, 0)
class TestStrftime(unittest.TestCase):
def test_not_formatting(self):
fmt = "a string with no formatting {}[]() 0123456789 !@#$^&*"
self.assertEqual(time.strftime(fmt, TIME_TUPLE), fmt)
def test_days(self):
for i, day in enumerate(DAYS):
t = (0, 0, 0, 0, 0, 0, i, 0, 0)
self.assertEqual(time.strftime("%a%A", t), day[:3] + day)
def test_months(self):
for i, month in enumerate(MONTHS):
t = (0, i + 1, 0, 0, 0, 0, 0, 0, 0)
self.assertEqual(time.strftime("%b%B", t), month[:3] + month)
def test_full(self):
fmt = "%Y-%m-%d %a %b %I:%M:%S %%%P%%"
expected = "2022-12-14 Wed Dec 00:45:17 %AM%"
self.assertEqual(time.strftime(fmt, TIME_TUPLE), expected)