コード例 #1
0
        private void AssertDateTimeOffset(
            DateTime dateTime,
            Func <DateTime, DateTimeOffset> function,
            TimeZoneInfo timeZoneInfo,
            bool summerTime)
        {
            var dateTimeOffset = function.Invoke(dateTime);

            Assert.Equal(dateTime, dateTimeOffset.Date);

            var expected = timeZoneInfo.BaseUtcOffset.TotalMinutes;

            if (summerTime)
            {
                expected += timeZoneInfo.GetAdjustmentRuleTimeSpan(dateTime).TotalMinutes;
            }

            var actual = (new DateTimeOffset(dateTime, TimeSpan.Zero) - dateTimeOffset).TotalMinutes;

            Assert.Equal(expected, actual);
        }