}
}
#endif
- [Test (Description="Description xambug #17155")]
- public void AdjustmentRuleAfterNewYears ()
- {
- TimeZoneInfo tz;
- if (Environment.OSVersion.Platform == PlatformID.Unix)
- tz = TimeZoneInfo.FindSystemTimeZoneById ("Pacific/Auckland"); // *nix
- else
- tz = TimeZoneInfo.FindSystemTimeZoneById ("New Zealand Standard Time"); // Windows
-
- // DST start: 9/29/2013 2:00:00 AM
- // DST end: 4/6/2014 3:00:00 AM
- DateTime dt = new DateTime (2014, 1, 9, 23, 0, 0, DateTimeKind.Utc);
- Assert.IsTrue (tz.IsDaylightSavingTime (dt), "#1.1");
-
- // DST start: 9/29/2014 2:00:00 AM
- // DST end: 4/6/2015 3:00:00 AM
- dt = new DateTime (2014, 6, 9, 23, 0, 0, DateTimeKind.Utc);
- Assert.IsFalse (tz.IsDaylightSavingTime (dt), "#2.1");
-
- // DST start: 9/29/2014 2:00:00 AM
- // DST end: 4/6/2015 3:00:00 AM
- dt = new DateTime (2014, 10, 9, 23, 0, 0, DateTimeKind.Utc);
- Assert.IsTrue (tz.IsDaylightSavingTime (dt), "#3.1");
- }
}
[TestFixture]
TimeZoneInfo.ConvertTime (DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("Pacific/Auckland"));
}
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void ConvertTime_DateTime_TimeZoneInfo_DestinationTimeZoneIsNull ()
- {
- TimeZoneInfo.ConvertTime (DateTime.Now, null);
- }
-
- [Test]
- public void ConvertTime_DateTime_TimeZoneInfo_DateTimeKindMatch ()
- {
- var sdt = new DateTime (2014, 1, 9, 23, 0, 0, DateTimeKind.Utc);
- var ddt = TimeZoneInfo.ConvertTime (sdt, TimeZoneInfo.Utc);
- Assert.AreEqual (ddt.Kind, sdt.Kind, "#1.1");
- Assert.AreEqual (ddt.Kind, DateTimeKind.Utc, "#1.2");
-
- sdt = new DateTime (2014, 1, 9, 23, 0, 0, DateTimeKind.Local);
- ddt = TimeZoneInfo.ConvertTime (sdt, TimeZoneInfo.Local);
- Assert.AreEqual (ddt.Kind, sdt.Kind, "#2.1");
- Assert.AreEqual (ddt.Kind, DateTimeKind.Local, "#2.2");
-
- sdt = new DateTime (2014, 1, 9, 23, 0, 0);
- ddt = TimeZoneInfo.ConvertTime (sdt, TimeZoneInfo.Local);
- Assert.AreEqual (ddt.Kind, sdt.Kind, "#3.1");
- Assert.AreEqual (ddt.Kind, DateTimeKind.Unspecified, "#3.2");
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void ConverTime_DateTime_TimeZoneInfo_TimeZoneInfo_SourceTimeZoneIsNull ()
- {
- TimeZoneInfo.ConvertTime (DateTime.Now, null, TimeZoneInfo.Local);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void ConverTime_DateTime_TimeZoneInfo_TimeZoneInfo_DestinationTimeZoneIsNull ()
- {
- TimeZoneInfo.ConvertTime (DateTime.Now, TimeZoneInfo.Utc, null);
- }
-
- [Test (Description="Fix for xambug https://bugzilla.xamarin.com/show_bug.cgi?id=17155")]
- public void ConvertTime_AdjustmentRuleAfterNewYears ()
- {
- TimeZoneInfo tz;
- if (Environment.OSVersion.Platform == PlatformID.Unix)
- tz = TimeZoneInfo.FindSystemTimeZoneById ("Pacific/Auckland"); // *nix
- else
- tz = TimeZoneInfo.FindSystemTimeZoneById ("New Zealand Standard Time"); // Windows
-
- // DST start: 9/29/2013 2:00:00 AM
- // DST end: 4/6/2014 3:00:00 AM
- DateTime sdt = new DateTime (2014, 1, 9, 23, 0, 0, DateTimeKind.Utc);
- DateTime ddt = TimeZoneInfo.ConvertTime (sdt, tz);
- Assert.AreEqual (10, ddt.Day, "#1.1");
- Assert.AreEqual (1, ddt.Month, "#1.2");
- Assert.AreEqual (2014, ddt.Year, "#1.3");
- Assert.AreEqual (12, ddt.Hour, "#1.4");
- Assert.AreEqual (0, ddt.Minute, "#1.5");
- Assert.AreEqual (0, ddt.Second, "#1.6");
-
- // DST start: 9/29/2014 2:00:00 AM
- // DST end: 4/6/2015 3:00:00 AM
- sdt = new DateTime (2014, 6, 9, 23, 0, 0, DateTimeKind.Utc);
- ddt = TimeZoneInfo.ConvertTime (sdt, tz);
- Assert.AreEqual (10, ddt.Day, "#2.1");
- Assert.AreEqual (6, ddt.Month, "#2.2");
- Assert.AreEqual (2014, ddt.Year, "#2.3");
- Assert.AreEqual (11, ddt.Hour, "#2.4");
- Assert.AreEqual (0, ddt.Minute, "#2.5");
- Assert.AreEqual (0, ddt.Second, "#2.6");
-
- // DST start: 9/29/2014 2:00:00 AM
- // DST end: 4/6/2015 3:00:00 AM
- sdt = new DateTime (2014, 10, 9, 23, 0, 0, DateTimeKind.Utc);
- ddt = TimeZoneInfo.ConvertTime (sdt, tz);
- Assert.AreEqual (10, ddt.Day, "#3.1");
- Assert.AreEqual (10, ddt.Month, "#3.2");
- Assert.AreEqual (2014, ddt.Year, "#3.3");
- Assert.AreEqual (12, ddt.Hour, "#3.4");
- Assert.AreEqual (0, ddt.Minute, "#3.5");
- Assert.AreEqual (0, ddt.Second, "#3.6");
- }
}
[TestFixture]