public void PreviousTwice_JanOne() { var offset = new ZoneYearOffset(TransitionMode.Utc, 1, 1, 0, true, LocalTime.Midnight); var actual = offset.MakeInstant(1970, Offset.Zero, Offset.Zero); long baseTicks = actual.Ticks; actual = offset.Previous(actual, Offset.Zero, Offset.Zero); actual = offset.Previous(actual, Offset.Zero, Offset.Zero); var expected = new Instant(baseTicks - (TicksPerStandardYear + TicksPerLeapYear)); Assert.AreEqual(expected, actual); }
public void Previous_OneSecondAfterJanOne() { var offset = new ZoneYearOffset(TransitionMode.Utc, 1, 1, 0, true, LocalTime.Midnight); var actual = offset.MakeInstant(1970, Offset.Zero, Offset.Zero) + Duration.Epsilon; actual = offset.Previous(actual, Offset.Zero, Offset.Zero); var expected = NodaConstants.UnixEpoch; Assert.AreEqual(expected, actual); }
public void Previous_WithAddDay() { // Last Thursday in October, then add 24 hours. The last Thursday in October 2013 is the 31st, so // the previous transition is the start of Friday October 26th 2012. var offset = new ZoneYearOffset(TransitionMode.Utc, 10, -1, (int)IsoDayOfWeek.Thursday, false, LocalTime.Midnight, true); var instant = Instant.FromUtc(2013, 10, 31, 12, 0); var expectedPrevious = Instant.FromUtc(2012, 10, 26, 0, 0); var actualPrevious = offset.Previous(instant, Offset.Zero, Offset.Zero); Assert.AreEqual(expectedPrevious, actualPrevious); }
public void PreviousTwice_JanOne() { var offset = new ZoneYearOffset(TransitionMode.Utc, 1, 1, 0, true, Offset.Zero); var actual = offset.MakeInstant(1970, Offset.Zero, Offset.Zero); long baseTicks = actual.Ticks; actual = offset.Previous(actual, Offset.Zero, Offset.Zero); actual = offset.Previous(actual, Offset.Zero, Offset.Zero); var expected = new Instant(baseTicks - (TicksPerStandardYear + TicksPerLeapYear)); Assert.AreEqual(expected, actual); }
public void Previous_OneSecondAfterJanOne() { var offset = new ZoneYearOffset(TransitionMode.Utc, 1, 1, 0, true, Offset.Zero); var actual = offset.MakeInstant(1970, Offset.Zero, Offset.Zero) + Duration.One; actual = offset.Previous(actual, Offset.Zero, Offset.Zero); var expected = Instant.UnixEpoch; Assert.AreEqual(expected, actual); }