Quartz.NET - Czy test jednostkowy nie powinien przejść?

To pytanie dotyczyten, ale jest bardziej ogólny i może być traktowany niezależnie.

EDYCJA: Wersja kwarcowa to v2.0.1

Z mojego zrozumienia wynika, że ​​następujący test jednostkowy powinien zdać:

[Test]
public void Test() {
    // run every first day of month at 14:00 hours
    CronExpression expression = new CronExpression("0 0 14 1 * ?");

    //  TimeZoneInfo.Local = {(UTC+01:00) Amsterdam, Berlin, Bern, Rom, Stockholm, Wien}
    if (!TimeZoneInfo.Local.SupportsDaylightSavingTime) {
        return;
    }

    // get "summertime" period for current timezone
    var daylightChange = TimeZone.CurrentTimeZone.GetDaylightChanges(2013);
    //  -> daylightChange.Start     {31.03.2013 02:00:00}   System.DateTime
    //  -> daylightChange.End       {27.10.2013 03:00:00}   System.DateTime

    // get one startpoint before and one after begin of summertime
    DateTimeOffset beforeSummertime = daylightChange.Start.ToUniversalTime().AddDays(-1);
    DateTimeOffset afterSummertime = daylightChange.Start.ToUniversalTime().AddDays(1);
    // -> beforeSummertime  {30.03.2013 01:00:00 +00:00}    System.DateTimeOffset
    // -> afterSummertime   {01.04.2013 01:00:00 +00:00}    System.DateTimeOffset

    DateTimeOffset? nextValidTimeFromBefore = expression.GetNextValidTimeAfter(beforeSummertime);
    DateTimeOffset? nextValidTimeFromAfter = expression.GetNextValidTimeAfter(afterSummertime);
    // nextValidTimeFromBefore  {01.04.2013 13:00:00 +00:00}    System.DateTimeOffset?
    // nextValidTimeFromAfter   {01.04.2013 12:00:00 +00:00}    System.DateTimeOffset?

    Assert.AreEqual(nextValidTimeFromBefore, nextValidTimeFromAfter);
}  

Jednak (jak widać)nextValidTimeFromBefore różni się odnextValidTimeFromAfter. Wynik wnextValidTimeFromAfter jest poprawne. UTC 12:00 zakończy się o godzinie 14:00 w okresie letnim (który już się rozpoczął w tym momencie). Nie powinno mieć znaczenia, czyGetNextValidTimeAfter() parametr określa czas w lub poza okresem letnim.

Czy NextValidTimes powinny być równe, czy moje podejście jest błędne?

questionAnswers(1)

yourAnswerToTheQuestion