public void CompareTo_SameCalendarAndZone() { ZonedDateTime value1 = SampleZone.AtStrictly(new LocalDateTime(2011, 1, 2, 10, 30, 0)); ZonedDateTime value2 = SampleZone.AtStrictly(new LocalDateTime(2011, 1, 2, 10, 30, 0)); ZonedDateTime value3 = SampleZone.AtStrictly(new LocalDateTime(2011, 1, 2, 10, 45, 0)); Assert.That(value1.CompareTo(value2), Is.EqualTo(0)); Assert.That(value1.CompareTo(value3), Is.LessThan(0)); Assert.That(value3.CompareTo(value2), Is.GreaterThan(0)); }
public void CompareTo_DifferentCalendars_OnlyInstantMatters() { CalendarSystem islamic = CalendarSystem.GetIslamicCalendar(IslamicLeapYearPattern.Base15, IslamicEpoch.Astronomical); ZonedDateTime value1 = SampleZone.AtStrictly(new LocalDateTime(2011, 1, 2, 10, 30)); ZonedDateTime value2 = SampleZone.AtStrictly(new LocalDateTime(1500, 1, 1, 10, 30, islamic)); ZonedDateTime value3 = SampleZone.AtStrictly(value1.LocalDateTime.WithCalendar(islamic)); Assert.That(value1.CompareTo(value2), Is.LessThan(0)); Assert.That(value2.CompareTo(value1), Is.GreaterThan(0)); Assert.That(value1.CompareTo(value3), Is.EqualTo(0)); }
public void CompareTo_DifferentZones_OnlyInstantMatters() { var otherZone = new FixedDateTimeZone(Offset.FromHours(-20)); ZonedDateTime value1 = SampleZone.AtStrictly(new LocalDateTime(2011, 1, 2, 10, 30)); // Earlier local time, but later instant ZonedDateTime value2 = otherZone.AtStrictly(new LocalDateTime(2011, 1, 2, 5, 30)); ZonedDateTime value3 = value1.WithZone(otherZone); Assert.That(value1.CompareTo(value2), Is.LessThan(0)); Assert.That(value2.CompareTo(value1), Is.GreaterThan(0)); Assert.That(value1.CompareTo(value3), Is.EqualTo(0)); }
public void ShouldReportLargerOnCompareToNull() { var dateTime1 = new ZonedDateTime(1947, 12, 17, 0, 0, 0, 0, Zone.Of("Europe/Amsterdam")); var comp = dateTime1.CompareTo(null); comp.Should().BeGreaterThan(0); }
public void ShouldThrowOnCompareToOtherType() { var dateTime1 = new ZonedDateTime(1947, 12, 17, 0, 0, 0, 0, Zone.Of("Europe/Amsterdam")); var ex = Record.Exception(() => dateTime1.CompareTo(new DateTime(1947, 12, 17))); ex.Should().NotBeNull().And.BeOfType <ArgumentException>(); }
public void ShouldReportSmallerOnCompareToDiffOffset() { var dateTime1 = new ZonedDateTime(1947, 12, 16, 23, 59, 59, 999999900, Zone.Of("Europe/Amsterdam")); var dateTime2 = new ZonedDateTime(1947, 12, 16, 23, 59, 59, 999999900, Zone.Of("Europe/London")); var comp = dateTime1.CompareTo(dateTime2); comp.Should().BeLessThan(0); }
public void ShouldReportEqualOnCompareTo() { var dateTime1 = new ZonedDateTime(1947, 12, 16, 23, 59, 59, 999999900, Zone.Of("Europe/Amsterdam")); var dateTime2 = new ZonedDateTime(1947, 12, 16, 23, 59, 59, 999999900, Zone.Of("Europe/Amsterdam")); var comp = dateTime1.CompareTo(dateTime2); comp.Should().Be(0); }
public void ShouldReportSmallerOnCompareToDiffOffset() { var dateTime1 = new ZonedDateTime(1947, 12, 16, 23, 59, 59, 999999999, Zone.Of(1800)); var dateTime2 = new ZonedDateTime(1947, 12, 16, 23, 59, 59, 999999999, Zone.Of(-1799)); var comp = dateTime1.CompareTo(dateTime2); comp.Should().BeLessThan(0); }
public void ShouldReportEqualOnCompareToDiffOffset() { var dateTime1 = new ZonedDateTime(1947, 12, 16, 23, 59, 59, 999999999, Zone.Of(1800)); var dateTime2 = new ZonedDateTime(1947, 12, 17, 0, 59, 59, 999999999, Zone.Of(5400)); var comp = dateTime1.CompareTo(dateTime2); comp.Should().Be(0); }
public void ShouldReportLargerOnCompareToDiffOffset() { var dateTime1 = new ZonedDateTime(1947, 12, 17, 23, 59, 59, 999999999, Zone.Of(1800)); var dateTime2 = new ZonedDateTime(1947, 12, 16, 23, 59, 59, 999999999, Zone.Of(1750)); var comp = dateTime1.CompareTo(dateTime2); comp.Should().BeGreaterThan(0); }