public void Test_SetNow_ShouldChangeDateTimeBeingUsedForCalcs() { //---------------Set up test pack------------------- var dateTimeCurrent = new DateTime(2007,5, 11); var optionsConverter = new DateRangeOptionsConverter(); //--------------Assert PreConditions---------------- //---------------Execute Test ---------------------- optionsConverter.SetNow(dateTimeCurrent); DateRange dateRange = optionsConverter.ConvertDateRange(DateRangeOptions.Current24Hours); //---------------Test Result ----------------------- Assert.AreEqual(dateTimeCurrent, dateRange.EndDate); }
public void Test_ThisHour_ShouldSetStartDateToBeginHour_AndEndDateToEndOfHour() { //---------------Set up test pack------------------- var dateTimeCurrent = GetDateTimeCurrent(20); var dateTimeNowFake = new DateTimeNowFixed(dateTimeCurrent); var optionsConverter = new DateRangeOptionsConverter(dateTimeNowFake); //---------------Execute Test ---------------------- DateRange dateRange = optionsConverter.ConvertDateRange(DateRangeOptions.ThisHour); //---------------Test Result ----------------------- var expectedStartDate = GetDateTimeCurrent(20,0,0,0); var expectedEndDate = GetDateTimeCurrent(20, 59, 59, 999); Assert.AreEqual(expectedStartDate, dateRange.StartDate, "Start Date should be exactly 24 hours ago."); Assert.AreEqual(expectedEndDate, dateRange.EndDate, "End Date should be now"); }
public void Test_DateRangeWithoutOffSets(DateRangeTestCase dateRangeTestCase) { //---------------Set up test pack------------------- var dateTimeNowFake = new DateTimeNowFixed(dateRangeTestCase.CurrectDate); var optionsConverter = new DateRangeOptionsConverter(dateTimeNowFake); //--------------Assert PreConditions---------------- //---------------Execute Test ---------------------- DateRange dateRange = optionsConverter.ConvertDateRange(dateRangeTestCase.DateRangeOptions); //---------------Test Result ----------------------- dateRangeTestCase.ShouldHaveStartAndEndDate(dateRange); }
public void Test_DateRangeWithOffSets(DateRangeTestCaseWithOffSet dateRangeTestCase) { //---------------Set up test pack------------------- var dateTimeNowFake = new DateTimeNowFixed(dateRangeTestCase.CurrectDate); var optionsConverter = new DateRangeOptionsConverter(dateTimeNowFake); optionsConverter.MidnightOffset = dateRangeTestCase.MidNightOffset; optionsConverter.MonthStartOffset = dateRangeTestCase.MonthOffSet; optionsConverter.WeekStartOffset = dateRangeTestCase.WeekOffSet; optionsConverter.YearStartOffset = dateRangeTestCase.YearOffSet; //--------------Assert PreConditions---------------- //---------------Execute Test ---------------------- DateRange dateRange = optionsConverter.ConvertDateRange(dateRangeTestCase.DateRangeOptions); //---------------Test Result ----------------------- dateRangeTestCase.ShouldHaveStartAndEndDate(dateRange); }
public void TestPreviousWeek_ReturnsStartAndEndForPreviousWeek() { //---------------Set up test pack------------------- var dateTimeCurrent = DateTime.Now; var dateTimeNowFake = new DateTimeNowFixed(dateTimeCurrent); var optionsConverter = new DateRangeOptionsConverter(dateTimeNowFake); var expectedStartDate = DateTimeUtilities.WeekStart(dateTimeCurrent.AddDays(-7)); var expectedEndDate = DateTimeUtilities.WeekEnd(dateTimeCurrent.AddDays(-7)); //--------------Assert PreConditions---------------- //---------------Execute Test ---------------------- DateRange dateRange = optionsConverter.ConvertDateRange(DateRangeOptions.PreviousWeek); //---------------Test Result ----------------------- Assert.AreEqual(expectedStartDate, dateRange.StartDate); Assert.AreEqual(expectedEndDate, dateRange.EndDate); }
public void TestWeekToDate() { //---------------Set up test pack------------------- var dateTimeCurrent = DateTime.Now; var dateTimeNowFake = new DateTimeNowFixed(dateTimeCurrent); var optionsConverter = new DateRangeOptionsConverter(dateTimeNowFake); var expectedStartDate = DateTimeUtilities.WeekStart(dateTimeCurrent); var expectedEndDate = dateTimeCurrent; //--------------Assert PreConditions---------------- //---------------Execute Test ---------------------- DateRange dateRange = optionsConverter.ConvertDateRange(DateRangeOptions.WeekToDate); //---------------Test Result ----------------------- Assert.AreEqual(expectedStartDate, dateRange.StartDate); Assert.AreEqual(expectedEndDate, dateRange.EndDate); }
public void Test_Yesterday() { //---------------Set up test pack------------------- var dateTimeCurrent = DateTime.Now; var expectedStartTime = DateTimeUtilities.DayStart(dateTimeCurrent).AddDays(-1); var expectedEndTime = DateTimeUtilities.DayEnd(dateTimeCurrent).AddDays(-1); var optionsConverter = new DateRangeOptionsConverter(new DateTimeNowFixed(dateTimeCurrent)); //--------------Assert PreConditions---------------- Assert.AreEqual(expectedStartTime.AddDays(1).AddMilliseconds(-1), expectedEndTime); var expectedTimeSpan = expectedEndTime - expectedStartTime; Assert.AreEqual(24, Math.Round(expectedTimeSpan.TotalHours,3)); //---------------Execute Test ---------------------- DateRange dateRange = optionsConverter.ConvertDateRange(DateRangeOptions.Yesterday); //---------------Test Result ----------------------- var actualTimeSpan = dateRange.EndDate - dateRange.StartDate; Assert.AreEqual(24, Math.Round(actualTimeSpan.TotalHours)); Assert.AreEqual(expectedStartTime, dateRange.StartDate); Assert.AreEqual(expectedEndTime, dateRange.EndDate); }
public void TestToday() { //---------------Set up test pack------------------- var dateTimeCurrent = DateTime.Now; var expectedStartTime = DateTimeUtilities.DayStart(dateTimeCurrent); var expectedEndTime = DateTimeUtilities.DayEnd(dateTimeCurrent); var optionsConverter = new DateRangeOptionsConverter(new DateTimeNowFixed(dateTimeCurrent)); //--------------Assert PreConditions---------------- //---------------Execute Test ---------------------- DateRange dateRange = optionsConverter.ConvertDateRange(DateRangeOptions.Today); //---------------Test Result ----------------------- Assert.AreEqual(expectedStartTime, dateRange.StartDate); Assert.AreEqual(expectedEndTime, dateRange.EndDate); }
public void TestCurrent60Minutes() { //---------------Set up test pack------------------- const int hour = 20; const int minutes = 38; const int seconds = 12; const int millisecond = 10; DateTime dateTimeCurrent = GetDateTimeCurrent(hour, minutes, seconds, millisecond); var dateTimeNowFake = new DateTimeNowFixed(dateTimeCurrent); var optionsConverter = new DateRangeOptionsConverter(dateTimeNowFake); //--------------Assert PreConditions---------------- //---------------Execute Test ---------------------- DateRange dateRange = optionsConverter.ConvertDateRange(DateRangeOptions.Current60Minutes); //---------------Test Result ----------------------- var expectedStartDate = GetDateTimeCurrent(hour - 1, minutes, seconds, millisecond); var expectedEndDate = dateTimeCurrent; Assert.AreEqual(expectedStartDate, dateRange.StartDate); Assert.AreEqual(expectedEndDate, dateRange.EndDate); }
public void TestPreviousHour_ShouldReturnStartDateEQStartPrevHr_EndDate_EndPrevHr() { //---------------Set up test pack------------------- const int hour = 20; DateTime dateTimeCurrent = GetDateTimeCurrent(hour, 38, 12, 999); var dateTimeNowFake = new DateTimeNowFixed(dateTimeCurrent); var optionsConverter = new DateRangeOptionsConverter(dateTimeNowFake); //--------------Assert PreConditions---------------- //---------------Execute Test ---------------------- DateRange dateRange = optionsConverter.ConvertDateRange(DateRangeOptions.PreviousHour); //---------------Test Result ----------------------- var expectedStartDate = GetDateTimeCurrent(hour -1, 0, 0); var expectedEndDate = GetDateTimeCurrent(hour - 1, 59, 59, 999); Assert.AreEqual(expectedStartDate, dateRange.StartDate); Assert.AreEqual(expectedEndDate, dateRange.EndDate); }
public void Test_Current24Hours_ShouldSetStartDateToNowLess24_AndEndDateToNow() { //---------------Set up test pack------------------- var dateTimeCurrent = DateTime.Now; var dateTimeNowFake = new DateTimeNowFixed(dateTimeCurrent); var optionsConverter = new DateRangeOptionsConverter(dateTimeNowFake); //--------------Assert PreConditions---------------- //---------------Execute Test ---------------------- DateRange dateRange = optionsConverter.ConvertDateRange(DateRangeOptions.Current24Hours); //---------------Test Result ----------------------- var expectedStartDate = dateTimeCurrent.AddHours(-24); var expectedEndDate = dateTimeCurrent; Assert.AreEqual(expectedStartDate, dateRange.StartDate); Assert.AreEqual(expectedEndDate, dateRange.EndDate); }