System.Tests.TimeZoneTests.TestBasicTimeZoneProperties C# (CSharp) Method

TestBasicTimeZoneProperties() private method

private TestBasicTimeZoneProperties ( ) : void
return void
        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);
            }
        }