public void ThrowArgumentOutOfRangeExceptionWhenTimespanIsLongerThan24Hours(TimeSpan timeSpan)
        {
            RelativeDay relativeDay       = RelativeDay.NextDay;
            DateTime    referenceDateTime = new DateTime(2019, 08, 31, 18, 30, 34);

            Assert.Throws <ArgumentOutOfRangeException>(() => new OpenWeatherTimeSpecification(relativeDay, timeSpan, referenceDateTime));
        }
        public void InitializeComparisonDateTimeWithNonDefaultValue()
        {
            RelativeDay relativeDay       = RelativeDay.NextDay;
            TimeSpan    timeSpan          = new TimeSpan(8, 30, 0);
            DateTime    referenceDateTime = new DateTime(2019, 08, 31, 18, 30, 34);

            var SpecificationUnderTest = new OpenWeatherTimeSpecification(relativeDay, timeSpan, referenceDateTime);

            Assert.NotEqual(new DateTime(), SpecificationUnderTest.ComparisonDateTime);
        }
        public void CreateComparisonDateTimeWithExpectedValues()
        {
            RelativeDay relativeDay                = RelativeDay.NextDay;
            TimeSpan    timeSpan                   = new TimeSpan(8, 30, 0);
            DateTime    referenceDateTime          = new DateTime(2019, 08, 31, 18, 30, 34);
            DateTime    expectedComparisonDateTime = new DateTime(2019, 9, 1, 8, 30, 0);

            var SpecificationUnderTest = new OpenWeatherTimeSpecification(relativeDay, timeSpan, referenceDateTime);

            Assert.Equal(expectedComparisonDateTime, SpecificationUnderTest.ComparisonDateTime);
        }
Example #4
0
        public OpenWeatherTimeSpecification(RelativeDay relativeDay, TimeSpan timeSpan, DateTime referenceDateTime)
        {
            ValidateTimeSpan(timeSpan);

            ComparisonDateTime = new DateTime(
                referenceDateTime.Year,
                referenceDateTime.Month,
                referenceDateTime.Day,
                timeSpan.Hours,
                timeSpan.Minutes,
                timeSpan.Seconds)
                                 .AddDays((double)relativeDay);
        }
 public OpenWeatherDaySpecification(RelativeDay day, DateTime reference)
 {
     ComparisonDateTime = reference.AddDays((double)day);
 }