Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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");
        }
Пример #4
0
        public void Test_Construct_ShouldSetAllOffSetsToZero()
        {
            //---------------Set up test pack-------------------

            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            var optionsConverter = new DateRangeOptionsConverter();

            //---------------Test Result -----------------------
            Assert.AreEqual(new TimeSpan(0), optionsConverter.MidnightOffset);
            Assert.AreEqual(0, optionsConverter.WeekStartOffset);
            Assert.AreEqual(0, optionsConverter.MonthStartOffset);
            Assert.AreEqual(0, optionsConverter.YearStartOffset);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        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);
        }
Пример #10
0
        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);
        }
Пример #11
0
        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);
        }
Пример #12
0
        public void Test_SetOffSets_ShouldSetOffsets()
        {
            //---------------Set up test pack-------------------
            var optionsConverter         = new DateRangeOptionsConverter();
            var expectedMidnightOffSet   = new TimeSpan(0, TestUtil.GetRandomInt(0, 7), TestUtil.GetRandomInt(0, 7), 0);
            var expectedWeekStartOffset  = TestUtil.GetRandomInt(0, 7);
            var expectedMonthStartOffset = TestUtil.GetRandomInt(0, 20);
            var expectedYearStartOffset  = TestUtil.GetRandomInt(0, 30);

            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            optionsConverter.MidnightOffset   = expectedMidnightOffSet;
            optionsConverter.WeekStartOffset  = expectedWeekStartOffset;
            optionsConverter.MonthStartOffset = expectedMonthStartOffset;
            optionsConverter.YearStartOffset  = expectedYearStartOffset;
            //---------------Test Result -----------------------
            Assert.AreEqual(expectedMidnightOffSet, optionsConverter.MidnightOffset);
            Assert.AreEqual(expectedWeekStartOffset, optionsConverter.WeekStartOffset);
            Assert.AreEqual(expectedMonthStartOffset, optionsConverter.MonthStartOffset);
            Assert.AreEqual(expectedYearStartOffset, optionsConverter.YearStartOffset);
        }
Пример #13
0
        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);
        }