public void returns_list_of_forecasts_from_one_day()
        {
            // Arrange
            const int numberOfForecasts = 20;

            // Act
            var forecasts = ModelUtilities.GenerateForecasts(
                _installationId, _startDate, numberOfForecasts)
                            .ToList();

            // Assert
            Assert.Equal(numberOfForecasts, forecasts.Count);
        }
        public void correct_end_date_of_forecasts_from_one_day()
        {
            // Arrange
            const int numberOfForecasts = 24;
            var       endDate           = _startDate.AddDays(1);

            // Act
            var forecasts = ModelUtilities.GenerateForecasts(
                _installationId, _startDate, numberOfForecasts)
                            .ToList();

            // Assert
            Assert.Equal(endDate.ToLocalTime(), forecasts.Last().TillDateTime);
        }
        public void returns_list_of_forecasts_from_many_days()
        {
            // Arrange
            const short numberOfDays           = 15;
            const short numberOfForecastsInDay = 23;

            // Act
            var forecasts = ModelUtilities.GenerateForecasts(
                _installationId,
                _startDate,
                numberOfDays,
                numberOfForecastsInDay)
                            .ToList();

            // Assert
            Assert.Equal(numberOfDays * numberOfForecastsInDay, forecasts.Count);
        }
        public void correct_end_date_of_forecasts_from_many_days()
        {
            // Arrange
            const short numberOfDays           = 15;
            const short numberOfForecastsInDay = 23;
            var         endDate = _startDate.AddDays(numberOfDays)
                                  .AddHours(numberOfForecastsInDay - 24);

            // Act
            var forecasts = ModelUtilities.GenerateForecasts(
                _installationId,
                _startDate,
                numberOfDays,
                numberOfForecastsInDay)
                            .ToList();

            // Assert
            Assert.Equal(endDate.ToLocalTime(), forecasts.Last().TillDateTime);
        }
        public void correct_last_request_date_of_forecasts_from_many_days()
        {
            // Arrange
            const short numberOfDays           = 15;
            const short numberOfForecastsInDay = 23;
            var         endRequestDate         = _startDate
                                                 .AddDays(numberOfDays)
                                                 .AddMinutes(ModelUtilities.RequestMinutesOffset);

            // Act
            var forecasts = ModelUtilities.GenerateForecasts(
                _installationId,
                _startDate,
                numberOfDays,
                numberOfForecastsInDay)
                            .ToList();

            // Assert
            Assert.Equal(
                endRequestDate.ToLocalTime(),
                forecasts.Last().RequestDateTime);
        }