Пример #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);
        }
Пример #2
0
        public ITimeSeriesReader CreateSensorReader(EnergyConfig sensorConfig)
        {
            if (sensorConfig is null)
            {
                throw new ArgumentNullException(nameof(sensorConfig));
            }

            if (sensorConfig.Resource is null)
            {
                throw new ArgumentException("Must have a value", nameof(sensorConfig.Resource));
            }

            var format = sensorConfig.Format;

            return(format switch
            {
                EnergySourceFormat.Sel => SelReader,
                EnergySourceFormat.Selv2 => Selv2Reader,
                EnergySourceFormat.Selv3 => Selv3Reader,
                _ => throw new InvalidDataException($"Format {sensorConfig.Format} not found"),
            });