Files

30 lines
1.2 KiB
Python

import os
import sys
import unittest
from datetime import datetime
PROJECT_ROOT = os.path.realpath(os.path.join(os.path.dirname(__file__), "..", ".."))
MODULE_ROOT = os.path.join(PROJECT_ROOT, "modules")
sys.path.append(MODULE_ROOT)
from cda.py_string_to_datetime import PyStringToDatetime
class TestPyStringToDatetime(unittest.TestCase):
def setUp(self):
"""Set up test data."""
self.node = PyStringToDatetime()
self.test_cases = [
("2023-03-15 12:00:00", "%Y-%m-%d %H:%M:%S", datetime(2023, 3, 15, 12, 0, 0)),
("2024-06-01 09:30:00", "%Y-%m-%d %H:%M:%S", datetime(2024, 6, 1, 9, 30, 0)),
("15/03/2023 12:00", "%d/%m/%Y %H:%M", datetime(2023, 3, 15, 12, 0)),
("01-06-2024", "%d-%m-%Y", datetime(2024, 6, 1))
]
def test_string_to_datetime(self):
"""Test converting a string to datetime."""
for value, date_format, expected in self.test_cases:
with self.subTest(value=value, date_format=date_format):
retval = self.node.f(value=value, date_format=date_format)[0]
self.assertEqual(retval, expected, f"Mismatch for value={value} with format={date_format}")
if __name__ == "__main__":
unittest.main()