Esempio n. 1
0
        public void GetProperDateTime_ReturnsFriday_ForWeekendDatetime()
        {
            //Arrange
            DaysProcessor processor = new DaysProcessor();
            DateTime      baseDate  = new DateTime(2016, 8, 13, 0, 0, 0);

            //Act
            DateTime actualDateTime = processor.GetProperDateTime(baseDate, 1);

            //Assert
            DateTime expectedDateTime = new DateTime(2016, 8, 12, 0, 0, 0);

            Assert.AreEqual(expectedDateTime, actualDateTime);
        }
Esempio n. 2
0
        public void GetProperDateTime_ReturnsTheSameValue_IfProperValueIsPassed()
        {
            //Arrange
            DaysProcessor processor = new DaysProcessor();
            DateTime      baseDate  = new DateTime(2016, 8, 11, 0, 0, 0);

            //Act
            DateTime actualDateTime = processor.GetProperDateTime(baseDate, 1);

            //Assert
            DateTime expectedDateTime = baseDate;

            Assert.AreEqual(expectedDateTime, actualDateTime);
        }
Esempio n. 3
0
        public void GetProperDateTime_ReturnsProperDateTime_ForTimeOnEdgeOfFullPeriod()
        {
            //Arrange
            DaysProcessor processor = new DaysProcessor();
            DateTime      baseDate  = new DateTime(2017, 5, 8, 0, 0, 0);

            //Act
            DateTime result = processor.GetProperDateTime(baseDate, 1);

            //Assert
            DateTime expectedDateTime = new DateTime(2017, 5, 8, 0, 0, 0);

            Assert.AreEqual(expectedDateTime, result);
        }
Esempio n. 4
0
        public void GetProperDateTime_ReturnsDateTimeRoundedDown_ForTimeBetweenFullPeriods()
        {
            //Arrange
            DaysProcessor processor = new DaysProcessor();
            DateTime      baseDate  = new DateTime(2017, 5, 8, 16, 14, 27);

            //Act
            DateTime result = processor.GetProperDateTime(baseDate, 1);

            //Assert
            DateTime expectedDateTime = new DateTime(2017, 5, 8, 0, 0, 0);

            Assert.AreEqual(expectedDateTime, result);
        }
Esempio n. 5
0
        public void GetProperDateTime_ReturnsLastValidValueBefore_ForHolidayValueIfPreviousDayIsWeekend()
        {
            //Arrange
            DaysProcessor processor = new DaysProcessor();

            processor.AddHoliday(new DateTime(2017, 5, 1, 0, 0, 0));
            DateTime baseDate = new DateTime(2017, 5, 1, 0, 0, 0);

            //Act
            DateTime result = processor.GetProperDateTime(baseDate, 1);

            //Assert
            DateTime expectedDateTime = new DateTime(2017, 4, 28, 0, 0, 0);

            Assert.AreEqual(expectedDateTime, result);
        }
Esempio n. 6
0
        public void GetProperDateTime_ReturnsLastValidValueBefore_ForWeekendIfFridayWasHoliday()
        {
            //Arrange
            DaysProcessor processor = new DaysProcessor();

            processor.AddHoliday(new DateTime(2017, 4, 7, 0, 0, 0));
            DateTime baseDate = new DateTime(2017, 4, 8, 0, 0, 0);

            //Act
            DateTime result = processor.GetProperDateTime(baseDate, 1);

            //Assert
            DateTime expectedDateTime = new DateTime(2017, 4, 6, 0, 0, 0);

            Assert.AreEqual(expectedDateTime, result);
        }
Esempio n. 7
0
        public void GetProperDateTime_ReturnsLastValidValueBefore_ForHolidayValueIfTwoPreviousDaysAreAlsoHoliday()
        {
            //Arrange
            DaysProcessor processor = new DaysProcessor();

            processor.AddHoliday(new DateTime(2016, 1, 1, 0, 0, 0));
            processor.AddHoliday(new DateTime(2015, 12, 31, 0, 0, 0));
            processor.AddHoliday(new DateTime(2015, 12, 30, 0, 0, 0));
            DateTime baseDate = new DateTime(2016, 1, 1, 0, 0, 0);

            //Act
            DateTime result = processor.GetProperDateTime(baseDate, 1);

            //Assert
            DateTime expectedDateTime = new DateTime(2015, 12, 29, 0, 0, 0);

            Assert.AreEqual(expectedDateTime, result);
        }