Exemplo n.º 1
0
        public void MakeInstant_LastSundayInOctober()
        {
            ZoneYearOffset offset = new ZoneYearOffset(TransitionMode.Utc, 10, -1, (int)IsoDayOfWeek.Sunday, false, LocalTime.Midnight);
            var            actual = offset.MakeInstant(1996, Offset.Zero, Offset.Zero);

            Assert.AreEqual(Instant.FromUtc(1996, 10, 27, 0, 0), actual);
        }
Exemplo n.º 2
0
        public void MakeInstant_JanMinusTwo()
        {
            var offset   = new ZoneYearOffset(TransitionMode.Utc, 1, -2, 0, true, LocalTime.Midnight);
            var actual   = offset.MakeInstant(1970, Offset.Zero, Offset.Zero);
            var expected = new Instant((30L - 1) * NodaConstants.TicksPerStandardDay);

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 3
0
        public void MakeInstant_WednesdayBackward()
        {
            var offset   = new ZoneYearOffset(TransitionMode.Utc, 1, 15, (int)DayOfWeek.Wednesday, false, LocalTime.Midnight);
            var actual   = offset.MakeInstant(1970, Offset.Zero, Offset.Zero);
            var expected = new Instant((14L - 1) * NodaConstants.TicksPerStandardDay);

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 4
0
        public void MakeInstant_Milliseconds()
        {
            var offset   = new ZoneYearOffset(TransitionMode.Utc, 1, 1, 0, true, new LocalTime(0, 0, 0, 1));
            var actual   = offset.MakeInstant(1970, Offset.Zero, Offset.Zero);
            var expected = new Instant((1L - 1) * NodaConstants.TicksPerStandardDay + NodaConstants.TicksPerMillisecond);

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 5
0
        public void MakeInstant_Year_1971()
        {
            var offset   = new ZoneYearOffset(TransitionMode.Utc, 1, 1, 0, true, LocalTime.Midnight);
            var actual   = offset.MakeInstant(1971, Offset.Zero, Offset.Zero);
            var expected = new Instant(365L * NodaConstants.TicksPerStandardDay);

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 6
0
        public void MakeInstant_SavingOffsetIgnored_Epoch()
        {
            var offset   = new ZoneYearOffset(TransitionMode.Utc, 1, 1, 0, true, LocalTime.Midnight);
            var actual   = offset.MakeInstant(1970, twoHours, oneHour);
            var expected = NodaConstants.UnixEpoch;

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 7
0
        public void MakeInstant_Defaults_Epoch()
        {
            var offset   = new ZoneYearOffset(TransitionMode.Utc, 1, 1, 0, true, LocalTime.Midnight);
            var actual   = offset.MakeInstant(1970, Offset.Zero, Offset.Zero);
            var expected = NodaConstants.UnixEpoch;

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 8
0
        public void MakeInstant_SavingAndOffset()
        {
            var offset   = new ZoneYearOffset(TransitionMode.Wall, 1, 1, 0, true, LocalTime.Midnight);
            var actual   = offset.MakeInstant(1970, twoHours, oneHour);
            var expected = new Instant((1L - 1) * NodaConstants.TicksPerStandardDay - (twoHours.Ticks + oneHour.Ticks));

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        public void Next_Feb29_FourYears()
        {
            var  offset    = new ZoneYearOffset(TransitionMode.Utc, 2, 29, 0, true, LocalTime.Midnight);
            var  actual    = offset.MakeInstant(1972, Offset.Zero, Offset.Zero);
            long baseTicks = actual.Ticks;

            actual = offset.Next(actual, Offset.Zero, Offset.Zero);
            var expected = new Instant(baseTicks + (3 * TicksPerStandardYear) + TicksPerLeapYear);

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 11
0
        public void Next_WednesdayForward()
        {
            ZoneYearOffset offset    = new ZoneYearOffset(TransitionMode.Utc, 10, 31, (int)IsoDayOfWeek.Wednesday, true, LocalTime.Midnight);
            var            actual    = offset.MakeInstant(2006, Offset.Zero, Offset.Zero); // Nov 1 2006
            long           baseTicks = actual.Ticks;

            actual = offset.Next(actual, Offset.Zero, Offset.Zero); // Oct 31 2007
            var expected = new Instant(baseTicks + (1 * TicksPerStandardYear) - NodaConstants.TicksPerStandardDay);

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 12
0
        public void Previous_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);
            var expected = new Instant(baseTicks - (1 * TicksPerStandardYear));

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 13
0
 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);
 }
Exemplo n.º 14
0
 public void NextTwice_Feb29_FourYears()
 {
     var offset = new ZoneYearOffset(TransitionMode.Utc, 2, 29, 0, true, Offset.Zero);
     var actual = offset.MakeInstant(1972, Offset.Zero, Offset.Zero);
     long baseTicks = actual.Ticks;
     actual = offset.Next(actual, Offset.Zero, Offset.Zero);
     actual = offset.Next(actual, Offset.Zero, Offset.Zero);
     var expected = new Instant(baseTicks + (2 * ((3 * TicksPerStandardYear) + TicksPerLeapYear)));
     Assert.AreEqual(expected, actual);
 }
Exemplo n.º 15
0
 public void Next_OneSecondBeforeJanOne()
 {
     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.Next(actual, Offset.Zero, Offset.Zero);
     var expected = Instant.UnixEpoch;
     Assert.AreEqual(expected, actual);
 }
Exemplo n.º 16
0
 public void Next_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.Next(actual, Offset.Zero, Offset.Zero);
     var expected = new Instant(baseTicks + (1 * TicksPerStandardYear));
     Assert.AreEqual(expected, actual);
 }
Exemplo n.º 17
0
 public void MakeInstant_Feb()
 {
     var offset = new ZoneYearOffset(TransitionMode.Utc, 2, 1, 0, true, Offset.Zero);
     var actual = offset.MakeInstant(1970, Offset.Zero, Offset.Zero);
     var expected = new Instant((32L - 1) * NodaConstants.TicksPerStandardDay);
     Assert.AreEqual(expected, actual);
 }
Exemplo n.º 18
0
 public void MakeInstant_WednesdayBackward()
 {
     var offset = new ZoneYearOffset(TransitionMode.Utc, 1, 15, (int)DayOfWeek.Wednesday, false, Offset.Zero);
     var actual = offset.MakeInstant(1970, Offset.Zero, Offset.Zero);
     var expected = new Instant((14L - 1) * NodaConstants.TicksPerStandardDay);
     Assert.AreEqual(expected, actual);
 }
Exemplo n.º 19
0
 public void MakeInstant_Milliseconds()
 {
     var offset = new ZoneYearOffset(TransitionMode.Utc, 1, 1, 0, true, Offset.Create(0, 0, 0, 1));
     var actual = offset.MakeInstant(1970, Offset.Zero, Offset.Zero);
     var expected = new Instant((1L - 1) * NodaConstants.TicksPerStandardDay + NodaConstants.TicksPerMillisecond);
     Assert.AreEqual(expected, actual);
 }
Exemplo n.º 20
0
 public void MakeInstant_SavingAndOffset()
 {
     var offset = new ZoneYearOffset(TransitionMode.Wall, 1, 1, 0, true, Offset.Zero);
     var actual = offset.MakeInstant(1970, twoHours, oneHour);
     var expected = new Instant((1L - 1) * NodaConstants.TicksPerStandardDay - (twoHours.TotalTicks + oneHour.TotalTicks));
     Assert.AreEqual(expected, actual);
 }
Exemplo n.º 21
0
 public void MakeInstant_SavingOffsetIgnored_Epoch()
 {
     var offset = new ZoneYearOffset(TransitionMode.Utc, 1, 1, 0, true, Offset.Zero);
     var actual = offset.MakeInstant(1970, twoHours, oneHour);
     var expected = Instant.UnixEpoch;
     Assert.AreEqual(expected, actual);
 }
Exemplo n.º 22
0
 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);
 }
Exemplo n.º 23
0
 public void NextTwice_WednesdayForward()
 {
     ZoneYearOffset offset = new ZoneYearOffset(TransitionMode.Utc, 10, 31, (int)IsoDayOfWeek.Wednesday, true, Offset.Zero);
     var actual = offset.MakeInstant(2006, Offset.Zero, Offset.Zero); // Nov 1 2006
     long baseTicks = actual.Ticks;
     actual = offset.Next(actual, Offset.Zero, Offset.Zero); // Oct 31 2007
     actual = offset.Next(actual, Offset.Zero, Offset.Zero); // Nov 5 2008
     var expected = new Instant(baseTicks + TicksPerStandardYear + TicksPerLeapYear + (4 * NodaConstants.TicksPerStandardDay));
     Assert.AreEqual(expected, actual);
 }
Exemplo n.º 24
0
 public void MakeInstant_Defaults_Epoch()
 {
     var offset = new ZoneYearOffset(TransitionMode.Utc, 1, 1, 0, true, Offset.Zero);
     var actual = offset.MakeInstant(1970, Offset.Zero, Offset.Zero);
     var expected = Instant.UnixEpoch;
     Assert.AreEqual(expected, actual);
 }