Ejemplo n.º 1
0
        public async Task returns_forecast_errors_with_correct_count()
        {
            // Arrange
            const short numberOfDays          = 7;
            short       numberOfElementsInDay = _minNumberOfMeasurements;

            int numberOfDailyErrors  = numberOfDays * _installationIds.Count;
            int numberOfHourlyErrors = numberOfDailyErrors * numberOfElementsInDay;

            _context.AddAllMeasurementsToDatabase(
                _installationIds, _startDate, numberOfDays, numberOfElementsInDay);

            _context.AddAllForecastsToDatabase(
                _installationIds, _startDate, numberOfDays, numberOfElementsInDay);

            var programController = new ProgramController(
                _unitOfWork,
                _forecastErrorsCalculator,
                _installationIds,
                minNumberOfMeasurements: _minNumberOfMeasurements,
                forecastErrorsRepository: _unitOfWork.PlainForecastErrorRepository);

            // Act
            var(hourlyErrors, dailyErrors)
                = await programController.CalculateForecastErrors();

            // Assert
            Assert.Equal(numberOfHourlyErrors, hourlyErrors.Count);
            Assert.Equal(numberOfDailyErrors, dailyErrors.Count);
        }
Ejemplo n.º 2
0
        public async Task returns_empty_new_forecast_error_list_when_no_installations()
        {
            // Arrange
            const short numberOfDays          = 7;
            short       numberOfElementsInDay = _minNumberOfMeasurements;

            var installationIds = new List <short>();

            _context.AddAllMeasurementsToDatabase(
                _installationIds,
                _startDate,
                numberOfDays,
                numberOfElementsInDay);

            _context.AddAllForecastsToDatabase(
                _installationIds,
                _startDate,
                numberOfDays,
                numberOfElementsInDay);

            var programController = new ProgramController(
                _unitOfWork,
                _forecastErrorsCalculator,
                installationIds,
                minNumberOfMeasurements: _minNumberOfMeasurements);

            // Act
            var(hourlyErrors, dailyErrors)
                = await programController.CalculateForecastErrors();

            // Assert
            Assert.Empty(hourlyErrors);
            Assert.Empty(dailyErrors);
        }
Ejemplo n.º 3
0
        public async Task returns_empty_new_forecast_error_list_when_no_measurements_in_database()
        {
            // Arrange
            var programController = new ProgramController(
                _unitOfWork,
                _forecastErrorsCalculator,
                _installationIds,
                forecastErrorsRepository: _unitOfWork.PlainForecastErrorRepository);

            // Act
            var(hourlyErrors, dailyErrors)
                = await programController.CalculateForecastErrors();

            // Assert
            Assert.Empty(hourlyErrors);
            Assert.Empty(dailyErrors);
        }