public void Next_ReturnsNextFridayProperly() { var friday = new DateTime(2009, 7, 10, 1, 0, 0, 0, DateTimeKind.Local); var reallyNextFriday = new DateTime(2009, 7, 17, 1, 0, 0, 0, DateTimeKind.Local); var nextFriday = friday.Next(DayOfWeek.Friday); DateAssert.Equal(reallyNextFriday, nextFriday); }
public void Next_ReturnsPreviousFridayProperly() { var friday = new DateTime(2009, 7, 17, 1, 0, 0, 0, DateTimeKind.Local); var reallyPreviousFriday = new DateTime(2009, 7, 10, 1, 0, 0, 0, DateTimeKind.Local); var previousFriday = friday.Previous(DayOfWeek.Friday); DateAssert.Equal(reallyPreviousFriday, previousFriday); }
public void NextYear_IfNextYearDoesNotHaveTheSameDayInTheSameMonthThenCalculateHowManyDaysIsMissingAndAddThatToTheLastDayInTheSameMonthNextYear() { var someBirthday = new DateTime(2008, 2, 29, 17, 0, 0, 0, DateTimeKind.Local); var nextYear = someBirthday.NextYear(); var expected = new DateTime(2009, 3, 1, 17, 0, 0, 0, DateTimeKind.Local); DateAssert.Equal(expected, nextYear); }
public void PreviousYear_IfPreviousYearDoesNotHaveTheSameDayInTheSameMonthThenCalculateHowManyDaysIsMissingAndAddThatToTheLastDayInTheSameMonthPreviousYear() { var someBirthday = new DateTime(2012, 2, 29, 17, 0, 0, 0, DateTimeKind.Local); var previousYear = someBirthday.PreviousYear(); var expected = new DateTime(2011, 3, 1, 17, 0, 0, 0, DateTimeKind.Local); DateAssert.Equal(expected, previousYear); }
public void NextYear_ReturnsTheSameDateButNextYear() { var birthday = new DateTime(1976, 12, 31, 17, 0, 0, 0, DateTimeKind.Local); var nextYear = birthday.NextYear(); var expected = new DateTime(1977, 12, 31, 17, 0, 0, 0, DateTimeKind.Local); DateAssert.Equal(expected, nextYear); }
public void PreviousYear_ReturnsTheSameDateButPreviousYear() { var birthday = new DateTime(1976, 12, 31, 17, 0, 0, 0, DateTimeKind.Local); var previousYear = birthday.PreviousYear(); var expected = new DateTime(1975, 12, 31, 17, 0, 0, 0, DateTimeKind.Local); DateAssert.Equal(expected, previousYear); }
public void ChangeTime_Millisecond_SimpleTests(int value) { var toChange = new DateTime(2008, 10, 25, 0, 0, 0, 0, DateTimeKind.Local); var expected = new DateTime(2008, 10, 25, 0, 0, 0, value, DateTimeKind.Local); DateAssert.Equal(expected, toChange.SetTime(0, 0, 0, value)); }
public void ExpiryDateInCorrectInterval(int heap) { var lastLearnDate = RandomHelper.Date(); var expiryDate = algo.ExpiryUtcDate(heap, lastLearnDate); var nbDaysForExpiration = Math.Pow(2, heap); DateAssert.IsInRange(lastLearnDate.AddDays(nbDaysForExpiration), TimeSpan.FromMinutes(nbDaysForExpiration * 10), expiryDate); }
public void ChangeTime_Hour_SimpleTests(int value) { var toChange = new DateTime(2008, 10, 25, 0, 0, 0, 0, DateTimeKind.Local); var result = toChange.SetTime(value); var expected = new DateTime(2008, 10, 25, value, 0, 0, 0, DateTimeKind.Local); DateAssert.Equal(expected, result); }
public void BasicTests() { var now = DateTime.Now; DateAssert.Equal(new DateTime(now.Year, now.Month, now.Day, 23, 59, 59, 999, DateTimeKind.Local), DateTime.Now.EndOfDay(), " End of the day wrong"); DateAssert.Equal(new DateTime(now.Year, now.Month, now.Day, 0, 0, 0, 0, DateTimeKind.Local), DateTime.Now.BeginningOfDay(), "Start of the day wrong"); var firstBirthDay = new DateTime(1977, 12, 31, 17, 0, 0, 0, DateTimeKind.Local); DateAssert.Equal(firstBirthDay + new TimeSpan(1, 0, 5, 0, 0), firstBirthDay + 1.Days() + 5.Minutes()); DateAssert.Equal(now + TimeSpan.FromDays(1), now.NextDay()); DateAssert.Equal(now - TimeSpan.FromDays(1), now.PreviousDay()); DateAssert.Equal(now + TimeSpan.FromDays(7), now.WeekAfter()); DateAssert.Equal(now - TimeSpan.FromDays(7), now.WeekEarlier()); Assert.Equal(new DateTime(2009, 1, 1, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2008, 12, 31, 0, 0, 0, DateTimeKind.Local).Add(1.Days())); Assert.Equal(new DateTime(2009, 1, 2, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2009, 1, 1, 0, 0, 0, 0, DateTimeKind.Local).Add(1.Days())); var sampleDate = new DateTime(2009, 1, 1, 13, 0, 0, 0, DateTimeKind.Local); DateAssert.Equal(new DateTime(2009, 1, 1, 12, 0, 0, 0, DateTimeKind.Local), sampleDate.Noon()); DateAssert.Equal(new DateTime(2009, 1, 1, 0, 0, 0, 0, DateTimeKind.Local), sampleDate.Midnight()); Assert.Equal(3.Days() + 3.Days(), 6.Days()); Assert.Equal(102.Days() - 3.Days(), 99.Days()); Assert.Equal(24.Hours(), 1.Days()); sampleDate = new DateTime(2008, 1, 1, 0, 0, 0, 0, DateTimeKind.Local); DateAssert.Equal(3.Days().Since(sampleDate), sampleDate + 3.Days()); var saturday = new DateTime(2008, 10, 25, 12, 0, 0, DateTimeKind.Local); DateAssert.Equal(new DateTime(2008, 11, 1, 12, 0, 0, DateTimeKind.Local), saturday.Next(DayOfWeek.Saturday)); DateAssert.Equal(new DateTime(2008, 10, 18, 12, 0, 0, DateTimeKind.Local), saturday.Previous(DayOfWeek.Saturday)); // ReSharper disable UnusedVariable var nextWeek = DateTime.Now + 1.Weeks(); var tomorrow = DateTime.Now + 1.Days(); var yesterday = DateTime.Now - 1.Days(); var changedHourTo14H = DateTime.Now.SetHour(14); var todayNoon = DateTime.Now.Noon(); var tomorrowNoon = DateTime.Now.NextDay().Noon(); var fiveDaysAgo = 5.Days().Ago(); var twoDaysFromNow = 2.Days().FromNow(); var nextYearSameDateAsTodayNoon = 1.Years().FromNow().Noon(); var twoWeeksFromNow = 2.Weeks().FromNow(); // ReSharper restore UnusedVariable }
public async Task OneDeck_WithCards() { var db = DbHelper.GetEmptyTestDB(); var user = await UserHelper.CreateInDbAsync(db); var deck = await DeckHelper.CreateAsync(db, user, algorithmId : HeapingAlgorithms.DefaultAlgoId); var runDate = RandomHelper.Date(); await DeckHelper.AddCardAsync(db, deck, (await CardHelper.CreateAsync(db, user)).Id, 0); await DeckHelper.AddCardAsync(db, deck, (await CardHelper.CreateAsync(db, user)).Id, 0); await DeckHelper.AddCardAsync(db, deck, (await CardHelper.CreateAsync(db, user)).Id, 1, RandomHelper.DateBefore(runDate.AddDays(-3))); //expired await DeckHelper.AddCardAsync(db, deck, (await CardHelper.CreateAsync(db, user)).Id, 1, runDate.AddDays(-1)); await DeckHelper.AddCardAsync(db, deck, (await CardHelper.CreateAsync(db, user)).Id, 2, runDate.AddDays(-10)); //expired await DeckHelper.AddCardAsync(db, deck, (await CardHelper.CreateAsync(db, user)).Id, 4, runDate.AddDays(-10)); await DeckHelper.AddCardAsync(db, deck, (await CardHelper.CreateAsync(db, user)).Id, 4, runDate.AddDays(-13)); using var dbContext = new MemCheckDbContext(db); var result = await new GetUserDecksWithHeaps(dbContext.AsCallContext(), runDate).RunAsync(new GetUserDecksWithHeaps.Request(user)); var resultDeck = result.Single(); Assert.AreEqual(deck, resultDeck.DeckId); Assert.AreEqual(7, resultDeck.CardCount); Assert.AreEqual(4, resultDeck.Heaps.Count()); var unknownHeap = resultDeck.Heaps.Single(heap => heap.HeapId == 0); Assert.AreEqual(DateTime.MaxValue, unknownHeap.NextExpiryUtcDate); Assert.AreEqual(2, unknownHeap.TotalCardCount); var heap1 = resultDeck.Heaps.Single(heap => heap.HeapId == 1); Assert.AreEqual(2, heap1.TotalCardCount); Assert.AreEqual(1, heap1.ExpiredCardCount); DateAssert.IsInRange(runDate.AddDays(1), TimeSpan.FromMinutes(20), heap1.NextExpiryUtcDate); var heap2 = resultDeck.Heaps.Single(heap => heap.HeapId == 2); Assert.AreEqual(1, heap2.TotalCardCount); Assert.AreEqual(1, heap2.ExpiredCardCount); Assert.AreEqual(DateTime.MaxValue, heap2.NextExpiryUtcDate); var heap4 = resultDeck.Heaps.Single(heap => heap.HeapId == 4); Assert.AreEqual(2, heap4.TotalCardCount); Assert.AreEqual(0, heap4.ExpiredCardCount); DateAssert.IsInRange(runDate.AddDays(3), TimeSpan.FromMinutes(160), heap4.NextExpiryUtcDate); }
public void From_FromFixedDateTime_Tests(int value) { var originalPointInTime = new DateTime(1976, 12, 31, 17, 0, 0, 0, DateTimeKind.Local); DateAssert.Equal(value.Years().From(originalPointInTime), originalPointInTime.AddYears(value)); DateAssert.Equal(value.Months().From(originalPointInTime), originalPointInTime.AddMonths(value)); DateAssert.Equal(value.Weeks().From(originalPointInTime), originalPointInTime.AddDays(value * DaysPerWeek)); DateAssert.Equal(value.Days().From(originalPointInTime), originalPointInTime.AddDays(value)); DateAssert.Equal(value.Hours().From(originalPointInTime), originalPointInTime.AddHours(value)); DateAssert.Equal(value.Minutes().From(originalPointInTime), originalPointInTime.AddMinutes(value)); DateAssert.Equal(value.Seconds().From(originalPointInTime), originalPointInTime.AddSeconds(value)); DateAssert.Equal(value.Milliseconds().From(originalPointInTime), originalPointInTime.AddMilliseconds(value)); DateAssert.Equal(value.Ticks().From(originalPointInTime), originalPointInTime.AddTicks(value)); }
public void FirstDayOfWeek_FirstDayOfWeekIsSunday(int value) { var ci = Thread.CurrentThread.CurrentCulture; var currentCulture = new CultureInfo("en-AU") { DateTimeFormat = { FirstDayOfWeek = DayOfWeek.Sunday } }; Thread.CurrentThread.CurrentCulture = currentCulture; var expected = new DateTime(2011, 1, 23, 0, 0, 0, DateTimeKind.Local); DateAssert.Equal(expected, new DateTime(2011, 1, value, 0, 0, 0, DateTimeKind.Local).FirstDayOfWeek()); Thread.CurrentThread.CurrentCulture = ci; }
public void PreviousQuarter_LastDay_SetsTheDayToLastDayOfQuarter() { var expected = new DateTime(2001, 12, 31, 3, 5, 6, DateTimeKind.Local); DateAssert.Equal(expected.BeginningOfDay(), 1.Quarters().Ago(new DateTime(2002, 1, 10, 4, 5, 6, DateTimeKind.Local).LastDayOfQuarter().BeginningOfDay())); }
public void PreviousMonth_NextMonthDoesntHaveThatManyDays() { var expected = new DateTime(2013, 2, 28, 06, 40, 20, 5, DateTimeKind.Local); DateAssert.Equal(expected, new DateTime(2013, 1, 31, 06, 40, 20, 5, DateTimeKind.Local).NextMonth()); }
public void NextMonth_BasicTest() { var expected = new DateTime(2013, 1, 5, 06, 40, 20, 5, DateTimeKind.Local); DateAssert.Equal(expected, new DateTime(2012, 12, 5, 06, 40, 20, 5, DateTimeKind.Local).NextMonth()); }
public void PreviousMonth_BasicTest() { var expected = new DateTime(2009, 12, 20, 06, 40, 20, 5, DateTimeKind.Local); DateAssert.Equal(expected, new DateTime(2010, 1, 20, 06, 40, 20, 5, DateTimeKind.Local).PreviousMonth()); }
public void SubtractBusinessDays_SubtractsDaysProperlyWhenThereIsWeekend() { var expected = new DateTime(2009, 7, 9, 0, 0, 0, DateTimeKind.Local); DateAssert.Equal(expected, new DateTime(2009, 7, 13, 0, 0, 0, DateTimeKind.Local).SubtractBusinessDays(2)); }
public void SubtractBusinessDays_Negative() { var expected = new DateTime(2009, 7, 13, 0, 0, 0, DateTimeKind.Local); DateAssert.Equal(expected, new DateTime(2009, 7, 9, 0, 0, 0, DateTimeKind.Local).SubtractBusinessDays(-2)); }
public void LastDayOfMonth_SetsTheDayToLastDayInThatMonth() { var expected = new DateTime(2002, 1, 31, 17, 05, 01, DateTimeKind.Local); DateAssert.Equal(expected, new DateTime(2002, 1, 1, 17, 05, 01, DateTimeKind.Local).LastDayOfMonth()); }
public void AddBusinessDays_AdsDaysProperlyWhenThereIsWeekendAhead() { var expected = new DateTime(2009, 7, 13, 0, 0, 0, DateTimeKind.Local); DateAssert.Equal(expected, new DateTime(2009, 7, 9, 0, 0, 0, DateTimeKind.Local).AddBusinessDays(2)); }
public void LastDayOfQuarter_Q4_SetsTheDayToLastDayOfQuarter() { var expected = new DateTime(2002, 12, 31, 4, 5, 6, DateTimeKind.Local); DateAssert.Equal(expected.BeginningOfDay(), new DateTime(2002, 11, 22, 12, 12, 12, DateTimeKind.Local).LastDayOfQuarter().BeginningOfDay()); }
public void FirstDayOfQuarter_Q4_SetsDayToFirstDay() { var expected = new DateTime(2002, 10, 1, 7, 8, 9, DateTimeKind.Local); DateAssert.Equal(expected.BeginningOfDay(), new DateTime(2002, 11, 22, 12, 12, 12, DateTimeKind.Local).FirstDayOfQuarter().BeginningOfDay()); }
public void NextQuarter_LastDay_SetsTheDayToLastDayOfQuarter() { var expected = new DateTime(2002, 6, 30, 3, 5, 6, DateTimeKind.Local); DateAssert.Equal(expected.BeginningOfDay(), 1.Quarters().From(new DateTime(2002, 1, 10, 4, 5, 6, DateTimeKind.Local).LastDayOfQuarter().BeginningOfDay())); }
public void At_SetsHourAndMinutesAndMillisecondsProperly() { var expected = new DateTime(2002, 12, 17, 18, 06, 02, 03, DateTimeKind.Local); DateAssert.Equal(expected, new DateTime(2002, 12, 17, 17, 05, 01, DateTimeKind.Local).At(18, 06, 02, 03)); }
public void FirstDayOfMonth_SetsTheDayToOne() { var expected = new DateTime(2002, 12, 1, 17, 05, 01, DateTimeKind.Local); DateAssert.Equal(expected, new DateTime(2002, 12, 17, 17, 05, 01, DateTimeKind.Local).FirstDayOfMonth()); }