From 8d653e96db15344e59c9f057355c1eeffb957097 Mon Sep 17 00:00:00 2001 From: Damien George Date: Wed, 14 Dec 2022 11:57:16 +1100 Subject: [PATCH] time: Add unit test for time.strftime. Signed-off-by: Damien George --- python-stdlib/time/test_time.py | 42 +++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 python-stdlib/time/test_time.py diff --git a/python-stdlib/time/test_time.py b/python-stdlib/time/test_time.py new file mode 100644 index 0000000..98dfcaf --- /dev/null +++ b/python-stdlib/time/test_time.py @@ -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)