from datetime import datetime from src.streamer.localize.extract_datetime import extract_date_from_file_name class TestExtractDateTime: def test_extract_date_from_file_name_valid(self): file_name = "20230101-123456 Some Text.md" assert datetime(2023, 1, 1, 12, 34, 56) == extract_date_from_file_name( file_name ) def test_extract_date_from_file_name_invalid(self): file_name = "invalid-file-name.md" assert extract_date_from_file_name(file_name) is None def test_extract_date_from_file_name_without_time(self): file_name = "20230101 Some Text.md" assert datetime(2023, 1, 1, 0, 0, 0) == extract_date_from_file_name(file_name) def test_extract_date_from_file_name_short_time(self): file_name = "20230101-1234 Some Text.md" assert datetime(2023, 1, 1, 12, 34, 0) == extract_date_from_file_name(file_name) def test_extract_date_from_file_name_empty_string(self): file_name = "" assert extract_date_from_file_name(file_name) is None def test_extract_date_from_file_name_with_full_path(self): file_name = "/path/to/20230101-123456 Some Text.md" assert datetime(2023, 1, 1, 12, 34, 56) == extract_date_from_file_name( file_name )