Example #1
0
        public void CreateSensorReader_ReturnReaderBySensorContentFormat(EnergySourceFormat format, Type type)
        {
            var factory = new TimeSeriesReaderFactory();

            var config = new EnergyConfig("any", "any", format);

            var sensorReader = factory.CreateSensorReader(config);

            Assert.IsType(type, sensorReader);
        }
Example #2
0
        private static async Task RunAsync(string[] args)
        {
            if (args.Length < 1)
            {
                throw new InvalidDataException("Missing path to configuration file");
            }

            var configurationFilePath = new FileInfo(args[0]);

            Logger.Info(CultureInfo.InvariantCulture, "Path to configuration file: {0}", configurationFilePath);

            // read data needed for processing time series data
            Logger.Info(CultureInfo.InvariantCulture, "Read configurations");
            var reader         = new DefaultConfigurationReader(new JsonConfigurationParser());
            var configurations = await reader.ReadAsync(configurationFilePath).ConfigureAwait(false);

            var timeSeriesReaderFactory = new TimeSeriesReaderFactory();
            var meteoReader             = new MeteoXmlReader();
            var excelWriter             = new EppExcelWriter();
            var fileService             = new FileService();
            var timeSeriesService       = new TimeSeriesService(timeSeriesReaderFactory, meteoReader, excelWriter, fileService);

            // read and write time series data
            Logger.Info(CultureInfo.InvariantCulture, "Read meteo data from sources");
            var meteoSeries = await timeSeriesService.ReadAsync(configurations.MeteoConfigs, CancellationToken.None).ConfigureAwait(false);

            Logger.Info(CultureInfo.InvariantCulture, "Read energy data from sources");
            var energySeries = await timeSeriesService.ReadAsync(configurations.EnergyConfigs, CancellationToken.None).ConfigureAwait(false);

            var summary = meteoSeries.Concat(energySeries);

            // write time series data to target excel files
            Logger.Info(CultureInfo.InvariantCulture, "Write data to target files");
            await timeSeriesService.WriteAsync(summary, configurations.SummaryConfigs, CancellationToken.None).ConfigureAwait(false);

            Logger.Info(CultureInfo.InvariantCulture, "Successfully Finished");
        }
Example #3
0
        public void CreateSensorReader_SensorConfigIsNull_ThrowsException()
        {
            var factory = new TimeSeriesReaderFactory();

            Assert.Throws <ArgumentNullException>(() => factory.CreateSensorReader(null));
        }