Skip to content

Commit 10ccf12

Browse files
committed
review comments
1 parent c55375b commit 10ccf12

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

featuremanagement/_time_window_filter/_recurrence_validator.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,9 @@ def _sort_days_of_week(days_of_week: List[int], first_day_of_week: int) -> List[
156156
sorted_days = sorted(days_of_week)
157157
if first_day_of_week in sorted_days:
158158
return sorted_days[sorted_days.index(first_day_of_week) :] + sorted_days[: sorted_days.index(first_day_of_week)]
159-
next_closet_day = first_day_of_week
160-
for day in sorted_days:
161-
if day > first_day_of_week:
162-
next_closet_day = day
159+
next_closest_day = first_day_of_week
160+
for i in range(7):
161+
if (first_day_of_week + i) % 7 in sorted_days:
162+
next_closest_day = (first_day_of_week + i) % 7
163163
break
164-
return sorted_days[sorted_days.index(next_closet_day) :] + sorted_days[: sorted_days.index(next_closet_day)]
164+
return sorted_days[sorted_days.index(next_closest_day) :] + sorted_days[: sorted_days.index(next_closest_day)]

tests/time_window_filter/test_recurrence_evaluator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
def test_is_match_within_time_window():
1313
start = datetime(2025, 4, 7, 9, 0, 0)
1414
end = datetime(2025, 4, 7, 17, 0, 0)
15-
now = datetime(2025, 4, 7, 10, 0, 0)
15+
now = datetime(2025, 4, 8, 10, 0, 0)
1616

1717
recurrence = Recurrence(
1818
{

tests/time_window_filter/test_recurrence_validator.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from datetime import timedelta, datetime
77
import pytest
88
from featuremanagement._time_window_filter._models import Recurrence
9-
from featuremanagement._time_window_filter._recurrence_validator import validate_settings
9+
from featuremanagement._time_window_filter._recurrence_validator import validate_settings, _sort_days_of_week
1010

1111
DATE_FORMAT = "%a, %d %b %Y %H:%M:%S"
1212

@@ -187,3 +187,8 @@ def test_is_duration_compliant_with_days_of_week_false():
187187
end = datetime(2025, 4, 10, 9, 0, 0) # Wednesday (48 hours duration)
188188
with pytest.raises(ValueError, match="Recurrence.Pattern.DaysOfWeek"):
189189
validate_settings(Recurrence({"Pattern": pattern, "Range": valid_no_end_range()}), start, end)
190+
191+
def test_sort_days_of_week():
192+
days_of_week = [0, 3, 5] # Monday, Thursday, Saturday
193+
sorted_days = _sort_days_of_week(days_of_week, 6)
194+
assert sorted_days == [0, 3, 5]

0 commit comments

Comments
 (0)