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); }
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"), });