public void TryParseIso8601MissingTimezone() { DateTimeOffset dtParsed; Assert.IsFalse(DateTimeOffsetUtility.TryParseIso8601("2006-01-02T03:04:05", out dtParsed)); Assert.IsNull(DateTimeOffsetUtility.TryParseIso8601("2006-01-02T03:04:05")); }
public void ParseIso8601Good() { DateTimeOffset dtExpected = new DateTimeOffset(2006, 1, 2, 3, 4, 5, TimeSpan.FromHours(-8)); DateTimeOffset dtParsed = DateTimeOffsetUtility.ParseIso8601("2006-01-02T03:04:05-08:00"); Assert.AreEqual(dtExpected, dtParsed); }
public void RoundTripLocal() { DateTimeOffset dtNow = ClearMilliseconds(DateTimeOffset.Now); string strRendered = dtNow.ToIso8601(); DateTimeOffset dtParsed = DateTimeOffsetUtility.ParseIso8601(strRendered); Assert.AreEqual(dtNow, dtParsed); }
public void TryParseIso8601Good() { var dtExpected = new DateTimeOffset(2006, 1, 2, 3, 4, 5, 0, TimeSpan.FromHours(-8)); Assert.IsTrue(DateTimeOffsetUtility.TryParseIso8601("2006-01-02T03:04:05-08:00", out var dtParsed)); Assert.AreEqual(dtExpected, dtParsed); Assert.AreEqual(dtExpected, DateTimeOffsetUtility.TryParseIso8601("2006-01-02T03:04:05-08:00")); }
public void RoundTripUtc() { var dtNow = ClearMilliseconds(DateTimeOffset.UtcNow); var strRendered = dtNow.ToIso8601(); var dtParsed = DateTimeOffsetUtility.ParseIso8601(strRendered); Assert.AreEqual(dtNow, dtParsed); }
public void BadInput() { Assert.Throws <ArgumentNullException>(() => DateTimeOffsetUtility.ParseIso8601(null !)); Assert.Throws <FormatException>(() => DateTimeOffsetUtility.ParseIso8601("")); Assert.IsFalse(DateTimeOffsetUtility.TryParseIso8601(null, out var dt)); Assert.IsFalse(DateTimeOffsetUtility.TryParseIso8601("", out dt)); Assert.IsNull(DateTimeOffsetUtility.TryParseIso8601(null)); Assert.IsNull(DateTimeOffsetUtility.TryParseIso8601("")); }
public void ParseLegacyFormat() { var strDateTime = "2009-06-09T14:59:23Z"; var dtExpected = new DateTimeOffset(2009, 6, 9, 14, 59, 23, default); var dt = DateTimeOffsetUtility.ParseIso8601(strDateTime); Assert.AreEqual(dtExpected, dt); Assert.IsTrue(DateTimeOffsetUtility.TryParseIso8601(strDateTime, out var dt2)); Assert.AreEqual(dtExpected, dt2); var strUtcNow = DateTime.UtcNow.ToIso8601(); var dtUtcNow = DateTimeUtility.ParseIso8601(strUtcNow); var dtoUtcNow = DateTimeOffsetUtility.ParseIso8601(strUtcNow); Assert.AreEqual(dtoUtcNow.DateTime, dtUtcNow); }
public void ParseIso8601BadSecond() { Assert.Throws <FormatException>(() => DateTimeOffsetUtility.ParseIso8601("2006-01-02T03:04:62")); }
public void ParseIso8601BadMinute() { Assert.Throws <FormatException>(() => DateTimeOffsetUtility.ParseIso8601("2006-01-02T03:61:05")); }
public void ParseIso8601BadHour() { Assert.Throws <FormatException>(() => DateTimeOffsetUtility.ParseIso8601("2006-01-02T25:04:05")); }
public void ParseIso8601BadDay() { Assert.Throws <FormatException>(() => DateTimeOffsetUtility.ParseIso8601("2006-02-30T03:04:05")); }
public void ParseIso8601MissingTimezone() { Assert.Throws <FormatException>(() => DateTimeOffsetUtility.ParseIso8601("2006-01-02T03:04:05")); }