public static void TestBasicTimeZoneProperties()
{
#pragma warning disable 0618
var currentZone = TimeZone.CurrentTimeZone;
#pragma warning restore 0618
Assert.Equal(TimeZoneInfo.Local.StandardName, currentZone.StandardName);
Assert.Equal(TimeZoneInfo.Local.DaylightName, currentZone.DaylightName);
int year = DateTime.Today.Year;
DaylightTime dt = currentZone.GetDaylightChanges(year);
TimeZoneInfo.AdjustmentRule currentRule = null;
if (TimeZoneInfo.Local.SupportsDaylightSavingTime)
{
foreach (var rule in TimeZoneInfo.Local.GetAdjustmentRules())
{
if (rule.DateStart.Year <= year && rule.DateEnd.Year >= year && rule.DaylightDelta != TimeSpan.Zero)
{
currentRule = rule;
break;
}
}
}
if (currentRule != null)
{
DateTime startTransition = TransitionTimeToDateTime(year, currentRule.DaylightTransitionStart);
DateTime endTransition = TransitionTimeToDateTime(year, currentRule.DaylightTransitionEnd);
Assert.Equal(startTransition, dt.Start);
Assert.Equal(endTransition, dt.End);
Assert.Equal(currentRule.DaylightDelta, dt.Delta);
}
else
{
Assert.Equal(DateTime.MinValue, dt.Start);
Assert.Equal(DateTime.MinValue, dt.End);
Assert.Equal(TimeSpan.Zero, dt.Delta);
}
}