refactor: rename test/ to tests/
This commit is contained in:
parent
af2debc19b
commit
f9ed0463f7
6 changed files with 16 additions and 17 deletions
|
|
@ -1,157 +0,0 @@
|
|||
from datetime import date, datetime, time
|
||||
|
||||
from streamer.localize.extract_datetime import (
|
||||
extract_date_from_marker,
|
||||
extract_datetime_from_file_name,
|
||||
extract_datetime_from_marker,
|
||||
extract_datetime_from_marker_list,
|
||||
extract_time_from_marker,
|
||||
)
|
||||
|
||||
|
||||
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_datetime_from_file_name(
|
||||
file_name
|
||||
)
|
||||
|
||||
def test_extract_date_from_file_name_invalid(self):
|
||||
file_name = "invalid-file-name.md"
|
||||
assert extract_datetime_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_datetime_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_datetime_from_file_name(
|
||||
file_name
|
||||
)
|
||||
|
||||
def test_extract_date_from_file_name_empty_string(self):
|
||||
file_name = ""
|
||||
assert extract_datetime_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_datetime_from_file_name(
|
||||
file_name
|
||||
)
|
||||
|
||||
|
||||
class TestExtractMarkerDateTime:
|
||||
def test_extract_datetime_from_marker_valid(self):
|
||||
marker = "20250101150000"
|
||||
assert datetime(2025, 1, 1, 15, 0, 0) == extract_datetime_from_marker(marker)
|
||||
|
||||
def test_extract_datetime_from_marker_invalid_format(self):
|
||||
assert extract_datetime_from_marker("2025010115000") is None # too short
|
||||
assert extract_datetime_from_marker("202501011500000") is None # too long
|
||||
assert extract_datetime_from_marker("2025-01-01T150000") is None # separators
|
||||
assert extract_datetime_from_marker("2025010115000a") is None # non-digit
|
||||
assert extract_datetime_from_marker("") is None
|
||||
|
||||
def test_extract_datetime_from_marker_invalid_values(self):
|
||||
assert extract_datetime_from_marker("20250230120000") is None # Feb 30
|
||||
assert extract_datetime_from_marker("20250101126000") is None # minute 60
|
||||
assert extract_datetime_from_marker("20250101240000") is None # hour 24
|
||||
|
||||
|
||||
class TestExtractMarkerDate:
|
||||
def test_extract_date_from_marker_valid(self):
|
||||
marker = "20250101"
|
||||
assert date(2025, 1, 1) == extract_date_from_marker(marker)
|
||||
|
||||
def test_extract_date_from_marker_invalid_format(self):
|
||||
assert extract_date_from_marker("2025010") is None # too short
|
||||
assert extract_date_from_marker("202501011") is None # too long
|
||||
assert extract_date_from_marker("2025-01-01") is None # separators
|
||||
assert extract_date_from_marker("2025010a") is None # non-digit
|
||||
assert extract_date_from_marker("") is None
|
||||
|
||||
def test_extract_date_from_marker_invalid_values(self):
|
||||
assert extract_date_from_marker("20250230") is None # Feb 30
|
||||
assert extract_date_from_marker("20251301") is None # month 13
|
||||
assert extract_date_from_marker("20250132") is None # day 32
|
||||
|
||||
|
||||
class TestExtractMarkerTime:
|
||||
def test_extract_time_from_marker_valid(self):
|
||||
marker = "150000"
|
||||
assert time(15, 0, 0) == extract_time_from_marker(marker)
|
||||
|
||||
def test_extract_time_from_marker_invalid_format(self):
|
||||
assert extract_time_from_marker("15000") is None # too short
|
||||
assert extract_time_from_marker("1500000") is None # too long
|
||||
assert extract_time_from_marker("15:00:00") is None # separators
|
||||
assert extract_time_from_marker("15000a") is None # non-digit
|
||||
assert extract_time_from_marker("") is None
|
||||
|
||||
def test_extract_time_from_marker_invalid_values(self):
|
||||
assert extract_time_from_marker("240000") is None # hour 24
|
||||
assert extract_time_from_marker("156000") is None # minute 60
|
||||
assert extract_time_from_marker("150060") is None # second 60
|
||||
|
||||
|
||||
class TestExtractDateTimeFromMarkerList:
|
||||
def test_no_markers_inherits_datetime(self):
|
||||
inherited = datetime(2025, 1, 2, 3, 4, 5)
|
||||
assert inherited == extract_datetime_from_marker_list([], inherited)
|
||||
|
||||
def test_unrelated_markers_inherits_datetime(self):
|
||||
inherited = datetime(2025, 1, 2, 3, 4, 5)
|
||||
markers = ["not-a-marker", "2025-01-01", "1500", "1234567"]
|
||||
assert inherited == extract_datetime_from_marker_list(markers, inherited)
|
||||
|
||||
def test_date_only_marker_sets_midnight(self):
|
||||
inherited = datetime(2025, 6, 7, 8, 9, 10)
|
||||
markers = ["20250101"]
|
||||
assert datetime(2025, 1, 1, 0, 0, 0) == extract_datetime_from_marker_list(
|
||||
markers, inherited
|
||||
)
|
||||
|
||||
def test_time_only_marker_inherits_date(self):
|
||||
inherited = datetime(2025, 6, 7, 8, 9, 10)
|
||||
markers = ["150000"]
|
||||
assert datetime(2025, 6, 7, 15, 0, 0) == extract_datetime_from_marker_list(
|
||||
markers, inherited
|
||||
)
|
||||
|
||||
def test_datetime_marker_overrides_both_date_and_time(self):
|
||||
inherited = datetime(2025, 6, 7, 8, 9, 10)
|
||||
markers = ["20250101150000"]
|
||||
assert datetime(2025, 1, 1, 15, 0, 0) == extract_datetime_from_marker_list(
|
||||
markers, inherited
|
||||
)
|
||||
|
||||
def test_combined_date_and_time_markers(self):
|
||||
inherited = datetime(2025, 6, 7, 8, 9, 10)
|
||||
markers = ["20250101", "150000"]
|
||||
assert datetime(2025, 1, 1, 15, 0, 0) == extract_datetime_from_marker_list(
|
||||
markers, inherited
|
||||
)
|
||||
|
||||
def test_first_marker_wins_when_multiple_dates_or_times(self):
|
||||
inherited = datetime(2025, 6, 7, 8, 9, 10)
|
||||
markers = ["20250101", "150000", "20250102", "160000"]
|
||||
assert datetime(2025, 1, 1, 15, 0, 0) == extract_datetime_from_marker_list(
|
||||
markers, inherited
|
||||
)
|
||||
|
||||
def test_last_separated_date_and_time_win(self):
|
||||
inherited = datetime(2025, 6, 7, 8, 9, 10)
|
||||
markers = ["20250101", "150000", "20250102160000"]
|
||||
assert datetime(2025, 1, 1, 15, 0, 0) == extract_datetime_from_marker_list(
|
||||
markers, inherited
|
||||
)
|
||||
|
||||
def test_invalid_date_or_time_markers_are_ignored(self):
|
||||
inherited = datetime(2025, 6, 7, 8, 9, 10)
|
||||
markers = ["20251301", "240000", "20250101", "150000"]
|
||||
assert datetime(2025, 1, 1, 15, 0, 0) == extract_datetime_from_marker_list(
|
||||
markers, inherited
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue