Skip to content

Commit b51b184

Browse files
test
1 parent dd857cc commit b51b184

File tree

3 files changed

+17
-18
lines changed

3 files changed

+17
-18
lines changed

src/Microsoft.FeatureManagement/FeatureFilters/Recurrence/RecurrenceEvaluator.cs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,9 @@ private static bool TryGetPreviousOccurrence(DateTimeOffset time, TimeWindowFilt
296296

297297
if (string.Equals(range.Type, EndDate, StringComparison.OrdinalIgnoreCase))
298298
{
299-
if (previousOccurrence.Year > range.EndDate.Value.Year || previousOccurrence.DayOfYear > range.EndDate.Value.DayOfYear)
299+
DateTime alignedPreviousOccurrence = previousOccurrence.DateTime + timeZoneOffset - previousOccurrence.Offset;
300+
301+
if (alignedPreviousOccurrence.Date > range.EndDate.Value.Date)
300302
{
301303
return false;
302304
}
@@ -450,7 +452,7 @@ private static bool TryValidateSettings(TimeWindowFilterSettings settings, out s
450452
return false;
451453
}
452454

453-
if (!IsDurationComplianceWithDaysOfWeek(timeWindowDuration, interval, recurrence.Pattern.DaysOfWeek, recurrence.Pattern.FirstDayOfWeek))
455+
if (!IsDurationCompliantWithDaysOfWeek(timeWindowDuration, interval, recurrence.Pattern.DaysOfWeek, recurrence.Pattern.FirstDayOfWeek))
454456
{
455457
paramName = nameof(settings.End);
456458

@@ -615,7 +617,7 @@ private static bool TryValidateSettings(TimeWindowFilterSettings settings, out s
615617
return true;
616618
}
617619

618-
private static bool IsDurationComplianceWithDaysOfWeek(TimeSpan duration, int interval, IEnumerable<string> daysOfWeek, string firstDayOfWeek)
620+
private static bool IsDurationCompliantWithDaysOfWeek(TimeSpan duration, int interval, IEnumerable<string> daysOfWeek, string firstDayOfWeek)
619621
{
620622
if (daysOfWeek == null || daysOfWeek.Count() < 1)
621623
{
@@ -669,7 +671,6 @@ private static bool IsDurationComplianceWithDaysOfWeek(TimeSpan duration, int in
669671
{
670672
minGap = gap;
671673
}
672-
673674
}
674675

675676
return minGap >= duration;
@@ -858,11 +859,9 @@ private static bool TryValidateEndDate(TimeWindowFilterSettings settings, out st
858859

859860
DateTime alignedStart = start.DateTime + timeZoneOffset - start.Offset;
860861

861-
DateTimeOffset endDate = recurrence.Range.EndDate.Value;
862-
863-
DateTime alignedEndDate = endDate.DateTime + timeZoneOffset - endDate.Offset;
862+
DateTime endDate = recurrence.Range.EndDate.Value.DateTime;
864863

865-
if (alignedEndDate.Date < alignedStart.Date)
864+
if (endDate.Date < alignedStart.Date)
866865
{
867866
reason = OutOfRange;
868867

tests/Tests.FeatureManagement/FeatureManagement.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ public async Task Percentage()
317317
}
318318
}
319319

320-
Assert.True(enabledCount > 0 && enabledCount < 10);
320+
Assert.True(enabledCount >= 0 && enabledCount < 10);
321321
}
322322

323323
[Fact]

tests/Tests.FeatureManagement/RecurrenceEvaluator.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -954,8 +954,8 @@ public IEnumerator<object[]> GetEnumerator()
954954
{
955955
yield return new object[] { new TimeWindowFilterSettings()
956956
{
957-
Start = DateTimeOffset.Parse("2023-9-1T00:00:00+08:00"),
958-
End = DateTimeOffset.Parse("2023-9-1T00:00:01+08:00"),
957+
Start = DateTimeOffset.Parse("2023-9-1T23:00:00+00:00"),
958+
End = DateTimeOffset.Parse("2023-9-1T23:00:01+00:00"),
959959
Recurrence = new Recurrence()
960960
{
961961
Pattern = new RecurrencePattern()
@@ -965,8 +965,8 @@ public IEnumerator<object[]> GetEnumerator()
965965
Range = new RecurrenceRange()
966966
{
967967
Type = "EndDate",
968-
EndDate = DateTimeOffset.Parse("2023-8-31"),
969-
RecurrenceTimeZone = "UTC+00:00"
968+
EndDate = DateTimeOffset.Parse("2023-9-1"),
969+
RecurrenceTimeZone = "UTC+08:00"
970970
}
971971
}
972972
},
@@ -1504,11 +1504,11 @@ public IEnumerator<object[]> GetEnumerator()
15041504
},
15051505
false };
15061506

1507-
yield return new object[] { DateTimeOffset.Parse("2023-9-3T00:00:00+08:00"),
1507+
yield return new object[] { DateTimeOffset.Parse("2023-9-2T17:00:00+00:00"),
15081508
new TimeWindowFilterSettings()
15091509
{
1510-
Start = DateTimeOffset.Parse("2023-9-1T00:00:00+08:00"),
1511-
End = DateTimeOffset.Parse("2023-9-1T00:00:01+08:00"),
1510+
Start = DateTimeOffset.Parse("2023-9-1T17:00:00+00:00"),
1511+
End = DateTimeOffset.Parse("2023-9-1T17:30:00+00:00"),
15121512
Recurrence = new Recurrence()
15131513
{
15141514
Pattern = new RecurrencePattern()
@@ -1518,8 +1518,8 @@ public IEnumerator<object[]> GetEnumerator()
15181518
Range = new RecurrenceRange()
15191519
{
15201520
Type = "EndDate",
1521-
EndDate = DateTimeOffset.Parse("2023-9-2T15:59:59+00:00"),
1522-
RecurrenceTimeZone = "UTC+00:00"
1521+
EndDate = DateTimeOffset.Parse("2023-9-2"),
1522+
RecurrenceTimeZone = "UTC+08:00"
15231523
}
15241524
}
15251525
},

0 commit comments

Comments
 (0)